我想在任務隊列中加載多個任務(推送),然後確定我已經添加到隊列中的任務組何時完成。我有以下代碼:確定任務是否已被刪除GAE Python
task = taskqueue.add(url='/task')
import time
while not task.was_deleted:
logging.info('not deleted yet')
time.sleep(1)
無限循環。我預計,一旦任務被處理並刪除,'was_deleted'參數將返回True。但即使任務被刪除,'was_deleted'仍然返回false。以下是文檔的說明:
task.was_deleted:「如果此任務已成功刪除,則爲true。」 https://developers.google.com/appengine/docs/python/taskqueue/tasks#Task_was_deleted
如果拉任務成功創建,您的應用程序需要在處理後刪除任務。系統可能需要七天時間才能確認任務已被刪除;在此期間,任務名稱仍然不可用。嘗試在此期間創建具有相同名稱的另一個任務將導致「存在項目」錯誤。系統不提供確定刪除的任務名稱是否仍在系統中的方法。爲避免這些問題,我們建議您讓App Engine自動生成任務名稱。 https://developers.google.com/appengine/docs/python/taskqueue/overview#Task_Concepts
這段似乎建議您不能立即確定給定任務何時被刪除。它是否正確?
我的問題:
- 有什麼用途爲was_deleted
- 你怎麼確定何時特定任務(或任務組)加入佇列已經完成
我需要的是進行動態創造了許多不同的隊列 - 我不認爲這是可能的,你必須定義在queue.yaml中 – waigani
我知道手動每一個新的隊列,在我的情況下,它的作品,因爲我有一批所有相同類型的任務。因此,每次批處理運行時,結束任務都會在繼續之前檢查隊列是否爲空。但那只是我的情況,我想也許它可以幫助你。 – payala