【发布时间】:2011-09-28 09:08:26
【问题描述】:
我有以下问题。我已经在 Google App Engine 中定义了一个 cron 作业,但是我的 get 方法没有被调用(或者准确地说,它每隔一次被调用一次 - 如果我手动运行它,它在第一次不会做任何事情,但在第二次它完美无缺)。这是 cron 调用的日志输出:
2011-07-04 11:39:08.500 /suggestions/ 200 489ms 70cpu_ms 0kb AppEngine-Google; (+http://code.google.com/appengine)
0.1.0.1 - - [04/Jul/2011:11:39:08 -0700] "GET /suggestions/ HTTP/1.1" 200 0 - "AppEngine-Google; (+http://code.google.com/appengine)" "bazinga-match.appspot.com" ms=489 cpu_ms=70 api_cpu_ms=0 cpm_usd=0.001975 queue_name=__cron task_name=a449e27ff383de24ff8fc5d5f05f2aae
如您所见,它在/suggestions/ 上发出GET 请求,但没有任何反应,包括我的日志消息(当我第二次手动运行时它们被打印出来)。您知道为什么会发生这种情况吗?
我的处理程序:
class SuggestionsHandler(RequestHandler):
def get(self):
logging.debug('Creating suggestions')
for key in db.Query(User, keys_only=True).order('last_suggestion'):
make_suggestion(key)
logging.debug('Done creating suggestions')
print
print('Done creating suggestions')
这是我的 cron.yaml:
cron:
- description: daily suggestion creation
url: /suggestions/
schedule: every 6 hours
和我的 app.yaml 的适当部分:
- url: /suggestions/
script: cron.py
login: admin
【问题讨论】:
标签: google-app-engine cron handler