谷歌app引擎中的cron作业没有执行php脚本

时间:2015-01-29 09:51:21

标签: google-app-engine cron scheduled-tasks

我有这个cron.yaml文件

cron:
- description: every 2 mins
  url: /api/get_source_news.php
  schedule: every 2 minutes synchronized

我把它放在app.yaml级别,所有内容都正常,如您在日志中所见

A 11:40:00.844 2015-01-29  200     737 B   102ms /api/get_source_news.php
  0.1.0.1 - - [29/Jan/2015:01:40:00 -0800] "GET /api/get_source_news.php HTTP/1.1" 200 737 - "AppEngine-Google; (+http://code.google.com/appengine)" "cosmic-descent-775.appspot.com" ms=102 cpu_ms=70 cpm_usd=0.000082 queue_name=__cron task_name=827fc890ec19365c3ba048d35277cf46 instance=00c61b117cc3e93627a3967269e339a46d20b2dc app_engine_release=1.9.17 trace_id=0792af8b291db432a2071ac60f8ed6fd

A 11:42:00.986 2015-01-29  200     737 B    80ms /api/get_source_news.php
A 11:44:01.247 2015-01-29  200     737 B   213ms /api/get_source_news.php
A 11:46:00.419 2015-01-29  200     737 B    71ms /api/get_source_news.php
  0.1.0.1 - - [29/Jan/2015:01:46:00 -0800] "GET /api/get_source_news.php HTTP/1.1" 200 737 - "AppEngine-Google; (+http://code.google.com/appengine)" "cosmic-descent-775.appspot.com" ms=71 cpu_ms=47 cpm_usd=0.000082 queue_name=__cron task_name=827fc890ec19365c3ba048d35277cf46 instance=00c61b117cc3e93627a3967269e339a46d20b2dc app_engine_release=1.9.17 trace_id=d53952790dff0b4214a6f88c69611739

cron每2分钟调用一次脚本,但问题是php脚本没有执行,没有任何行影响任何事情。

但是当在浏览器中调用url时,脚本会被执行并且没问题。

问题是什么,是权限问题吗?或者是某事。

1 个答案:

答案 0 :(得分:1)

在cron.yaml的 url 部分:您应该将已分配给 get_source_news.php 脚本的处理程序的URL。你把脚本的名字改为了。我建议你看一下文档(https://cloud.google.com/appengine/docs/php/config/cron)。

我们假设你的app.yaml如下:

application: myapp
version: 1
runtime: php
api_version: 1

handlers:  
# Serve php scripts.
- url: /api/get_source_news
  script: get_source_news.php

然后,你的cron.yaml应该是这样的:

cron:
- description: every 2 mins
  url: /api/get_source_news
  schedule: every 2 minutes synchronized