我有这个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时,脚本会被执行并且没问题。
问题是什么,是权限问题吗?或者是某事。
答案 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