Google App Engine的伪定时任务?
我想找个办法来创建伪定时任务,因为我不能在UNIX上使用真正的定时任务。
因为Python脚本可以无限期运行,我觉得用Python是个不错的选择。
在Google App Engine上,你可以设置Python脚本,而且是免费的。所以我应该使用App Engine。
App Engine允许160,000次外部网址访问(对吧?)所以你应该能有160000/31/24/60 = 每分钟大约3.6次访问。
所以我的脚本会是:
import time
import urllib
while time.clock() < 86400:
# execute pseudo-cronjob file and then wait 60 seconds
content = urllib.urlopen('http://www.example.org/cronjob_file.php').read()
time.sleep(60)
可惜的是,我没有办法测试这个脚本,所以我有几个问题:
1) 你觉得这个能行吗?
2) 使用这个服务来做这样的事情是被允许的吗(谷歌的服务条款)?
3) 我计算的每分钟网址访问次数对吗?
谢谢!
5 个回答
1
重复了,可以参考这个链接:Google App Engine上的定时任务
现在,GAE(Google App Engine)正式支持定时任务(cron jobs)了:http://code.google.com/appengine/docs/python/config/cron.html
6
也许我理解错了你的意思,但其实你可以通过cron配置文件来实现这个功能(不需要用Python)。你可以在你的cron.yaml文件里添加类似下面的内容:
cron:
- description: job that runs every minute
url: /cronjobs/job1
schedule: every minute
想了解更多关于调度的信息,可以查看Google的文档。