谷歌应用引擎(python)中的简单cron工作

afr*_*oze 3 python cron google-app-engine scheduled-tasks

我需要帮助在GAE(python)中实现一个简单的cron作业.

根据我从appengine文档中了解到的,我在应用程序根目录中创建了一个文件cron.yaml,其中包含以下内容:

cron:
- description: blah blah
  url: /crontask
  schedule: every 1 minute
Run Code Online (Sandbox Code Playgroud)

我的app.yaml文件包含以下内容:

application: template-123
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: template-123.app
Run Code Online (Sandbox Code Playgroud)

我把我的所有应用程序代码(cron和其他部分)都放到了一个文件"template-123.py"中.在代码中我按以下方式实现cron:

class CronTask(Handler):

    def  post(self):
        i=25
        number = Birthday(day = i)
        number.put()
Run Code Online (Sandbox Code Playgroud)

我通过声明:('/ crontask',CronTask)告诉代码将此类用于cron.

但是,没有新条目上传到数据存储区(我相信它们应该是这样).而且我知道我访问数据存储的方式不是问题,因为当我尝试手动执行相同的操作(将条目上传到应用程序的非cron部分中的数据存储)时,它会返回相应的结果.

所以我需要一些指导,告诉我可能做错了什么或错过了什么?是否必须对yaml文件进行一些更改或添加一些其他库?

小智 8

Cron使用GET,而不是POST.改变你def post(self)def get(self)(或其他适当的).