2014-09-10 80 views
1

我正在向Appengine的推送隊列添加長時間運行的任務。然後,我想將我的用戶重定向到狀態頁面,刷新後狀態頁面會告訴用戶已完成了多少個任務塊。Appengine推送隊列任務狀態

除了使用外部數據存儲來跟蹤任務的進度,我有什麼選擇?

(我沒有看到任何任務或文檔中另一種觀點認爲取回我在網上找到的唯一的事情會這樣,從3年前回答:Checking status of Task Queue in Google App Engine

回答

2

比其他數據存儲,您可以:

  1. 在memcache中爲每個工作塊和塊總數計數器保留一個計數器,這樣你就知道4中的2 = 50%完成了。
  2. 使用管道可以提供更多有關App Engine異步工作進度的信息。 https://code.google.com/p/appengine-pipeline,或入門指南在https://code.google.com/p/appengine-pipeline/wiki/GettingStarted
  3. 推送隊列在提供正在運行的任務完成狀態方面並不太好。您可以考慮移動到拉隊列,並將所有工作單元分成獨立的拉隊列任務。拉隊列有一個實驗性功能,您可以使用用戶標識對物品進行標記,也可以通過標記查詢拉隊列項目(https://developers.google.com/appengine/docs/python/taskqueue/overview-pull#Python_Leasing_tasks),以瞭解有多少物品已租出或正在處理。
相關問題