Google App Engine編程
GAE計劃任務:Cron服務
GAE的cron服務允許你配置在指定時間或固定間隔周期運行的計劃任務。例如,你可以每天發(fā)一份電子郵件報告,每隔10分鐘更新緩存數(shù)據(jù)等等。cron使用HTTP GET請求調用一個URL。被cron調用的HTTP請求可以運行長達10分鐘,如果期間沒有發(fā)生另一個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網(wǎng)址和一個schedule。description,timezone和target是可選項。description將顯示在管理控制臺和開發(fā)服務器的管理界面。
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官方文檔參見
這里。