【发布时间】:2011-07-10 00:11:20
【问题描述】:
我刚刚将我的应用程序上传到应用程序引擎,除了 cron 作业没有运行之外,一切似乎都正常工作。我的根目录中有一个 cron.yaml 文件,基本上是:
cron:
- description: do stuff
url: /cron/dostuff
schedule: every 1 minutes
- description: do other stuff
url: /cron/dootherstuff
schedule: every 1 days
这映射到我的 app.yaml 文件的以下部分:
- url: /cron
script: main.py
login: admin
它映射到我在 main.py 中的应用程序,它说:
# cron
('/cron/(.*)',handlers.CronHandler),
最终像这样映射到 CronHandler 程序:
class CronHandler(BaseHandler):
def get(self, mode=""):
if mode == "dostuff":
# stuff should happen here
我已将应用程序上传到谷歌,其他一切似乎都正常工作。当我直接点击 cron URL(即 myapp.appspot.com/cron/dostuff)时,它可以正常工作。但是 cron 作业不会自行运行,当我进入仪表板并查看 Cron 作业页面时,我看到了这一点。
知道我做错了什么吗?
【问题讨论】:
-
其他条目不需要点星号,所以我认为这无关紧要,但我还是试了一下。没有骰子。我同意,我希望它至少能显示一些失败的 cron 作业。
-
我尝试过的其他变体是将 cron.yaml 中的频率调整为“计划:每分钟”和“计划:每天”。那也没用。
-
.* 是必需的——但我认为你有一个包罗万象的规则,它也指向 main.py。这样做的结果是您的 cron 处理程序不是管理员专用的。
标签: python google-app-engine yaml