Google App Engine編程
GAE計(jì)劃任務(wù):Cron服務(wù)
GAE的cron服務(wù)允許你配置在指定時(shí)間或固定間隔周期運(yùn)行的計(jì)劃任務(wù)。例如,你可以每天發(fā)一份電子郵件報(bào)告,每隔10分鐘更新緩存數(shù)據(jù)等等。cron使用HTTP GET請(qǐng)求調(diào)用一個(gè)URL。被cron調(diào)用的HTTP請(qǐng)求可以運(yùn)行長(zhǎng)達(dá)10分鐘,如果期間沒(méi)有發(fā)生另一個(gè)HTTP請(qǐng)求。免費(fèi)GAE應(yīng)用可以有最多20個(gè)計(jì)劃任務(wù),付費(fèi)GAE應(yīng)用可以有100個(gè)計(jì)劃任務(wù)。
使用計(jì)劃任務(wù),你需要在GAE應(yīng)用的根目錄下建立一個(gè)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
一個(gè)cron.yaml文件可以包含多個(gè)任務(wù)。每個(gè)任務(wù)必須有一個(gè)URL網(wǎng)址和一個(gè)schedule。description,timezone和target是可選項(xiàng)。description將顯示在管理控制臺(tái)和開(kāi)發(fā)服務(wù)器的管理界面。
url域指定你的應(yīng)用中一個(gè)由cron服務(wù)調(diào)用的地址。
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任務(wù)
你可以使用appcfg.py上傳cron任務(wù)并查看有關(guān)cron任務(wù)的信息。使用"appcfg.py update"命令上傳更新您的應(yīng)用,cron服務(wù)與cron.yaml的內(nèi)容更新。你可以用appcfg.py update_cron命令只更新cron配置,而無(wú)需上傳程序。
刪除所有cron任務(wù),只需要如下修改cron.yaml。
cron:
GAE關(guān)于cron官方文檔參見(jiàn)
這里。