Google App Engine编程
GAE计划任务:Cron服务
GAE的cron服务允许你配置在指定时间或固定间隔周期运行的计划任务。例如,你可以每天发一份电子邮件报告,每隔10分钟更新缓存数据等等。cron使用HTTP GET请求调用一个URL。被cron调用的HTTP请求可以运行长达10分钟,如果期间没有发生另一个HTTP请求。免费GAE应用可以有最多20个计划任务,付费GAE应用可以有100个计划任务。
使用计划任务,你需要在GAE应用的根目录下建立一个cron.yaml配置文件,典型的配置文件如下
cron:
- description: daily summary job
url: /tasks/summary
schedule: every 24 hours
- description: monday morning mailout
url: /mail/weekly
schedule: every monday 09:00
timezone: Australia/NSW
- description: new daily summary job
url: /tasks/summary
schedule: every 24 hours
target: version-2
一个cron.yaml文件可以包含多个任务。每个任务必须有一个URL网址和一个schedule。description,timezone和target是可选项。description将显示在管理控制台和开发服务器的管理界面。
url域指定你的应用中一个由cron服务调用的地址。
schedule格式可以有以下几种
every 12 hours
every 5 minutes from 10:00 to 14:00
2nd,third mon,wed,thu of march 17:00
every monday 09:00
1st monday of sep,oct,nov 17:00
every day 00:00
上传cron任务
你可以使用appcfg.py上传cron任务并查看有关cron任务的信息。使用"appcfg.py update"命令上传更新您的应用,cron服务与cron.yaml的内容更新。你可以用appcfg.py update_cron命令只更新cron配置,而无需上传程序。
删除所有cron任务,只需要如下修改cron.yaml。
cron:
GAE关于cron官方文档参见
这里。