通过appengine的cron.yaml运行django manage.py命令

时间:2013-09-07 15:29:38

标签: google-app-engine django-nonrel djangoappengine

我不相信此问题实际上已在网上被问到过。

我知道对于cron'd任务,需要有三个处理程序。一个在cron.yaml,app.yaml和脚本本身。

但是管理命令呢,它们本身已经有了独特的结构。

这是我的cron.yaml

cron:
- description: operate on new models every 10 minutes
url: /my_model/management/commands
schedule: every 10 minutes

这是我的app.yaml

handlers:
- url: /my_model/management/commands
script: operate.py

示例会有很大帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

管理命令与django管理命令相同。它们仅在命令提示符下本地运行。

管理命令不需要任何处理程序,它们不在生产服务器上运行,也不会响应HTTP请求而运行。

编辑:

cron.yaml只是指定一个按计划调用的URL。您可以像其他网址一样对待该网址。下面是一个示例,其中cron调用被视为与其他调用一样,但利用App Engine的身份验证来确保随机用户不访问它。在这种情况下,请求仍将通过django的请求处理进行路由,并且您必须将相应的处理程序添加到urls.py:

- url: /cron
  script: djangoappengine.main.application
  login: admin

- url: /.*
  script: djangoappengine.main.application