2015年4月29日

Webapp2 教學 (8) - 使用 Cron 來執行例行性任務 ( Use Cron service in Webapp2 tutorial )

Google App Engine 優點之一就是它提供簡單的 Cron Service,它讓開發者輕鬆透過幾個簡單的設定步驟就可實作排程任務的功能。本篇將介紹如何使用 GAE 提供的 Cron Service。( 其他 Webapp2 相關教學可以參考本篇整理 )



加入 Cron Service 設定檔:
Cron Service 的設定檔儲放的位置與 app.yaml 相同,且設定檔命名為 cron.yaml。假設需要一個每 30 分鐘執行一次的任務,我們可以設定如下:
cron:
- description: task was executed every 30 minutes
  url: /your_task
  schedule: every 30 minutes
我們可以定義多個任務於此設定檔,但免費的 GAE App 只能設定 20 個任務。若是付費的使用者可以設定 100 個。另外,schedule 參數可以很靈活的設定,請參考文件


啟動 Cron Service 於測試環境:
測試伺服器並不會自動啟動 Cron Service,但我們可以透過管理者介面測試。連至 http://localhost:8000/cron 後可以看到它列出模擬 Cron Service 於正式環境的狀態,並且提供你手動觸發 Cron 任務的功能,因此你可以點擊測試。


取消 Cron 任務:
取消 Cron 任務方法就是將 cron.yaml 裡面的任務內容刪除,設定檔應該只剩以下內容:
cron:


Environment :
  ・ Arch Linux
  ・ Python 2.7

Reference :
  ・ Webapp2 official site
  ・ Scheduled Tasks With Cron for Python


熱門文章