2014-10-27 161 views
0

我想開發一個應用程序,用戶可以在其上註冊警報(多個),以便每當票價低於某個閾值時,他會收到通知。票價取自第三方網站。我想在谷歌應用程序引擎上執行此操作。計劃cron作業

現在我明白了,我需要一個24/7全天候運行的流程,每隔30分鐘檢查一次票價,並在低於閾值時發出通知。應用引擎的cron工作可能可以用於此任務?但是最多可以安排100個cron工作,那麼更好的方法是什麼?對每個用戶也有一個過程會浪費資源,那麼更好的調度算法會提高效率呢?

回答

1

您想安排一個每30分鐘運行一次的cron並將一個項目引發到任務隊列中。任務隊列中的單個項目然後將能夠遍歷所有用戶,並生成任務以再次獲取您在背景中需要的任何內容。兩件重要的事情:

  1. 您希望初始cron調用盡快返回,因爲URL有60秒的最後期限。
  2. 將任何工作分解到單獨的任務隊列中以實現上述目標,並遍歷數據源和/或用戶。

基於你解釋,你可以使用推送任務隊列的內容:https://cloud.google.com/appengine/docs/python/taskqueue/overview-push

+0

由cron調用的HTTP請求可以長達10分鐘。但我同意這個策略;) – koma 2014-10-27 16:01:18