有沒有辦法確定一組Google App Engine任務(及其產生的子任務)何時完成全部?有沒有辦法知道一組應用程序引擎任務隊列任務已完成?
假設我有100個任務要執行,其中10個產生了10個子任務。這是200個任務。我們還要說,這些子任務可能會產生更多的任務,遞歸等...
有沒有一種方法來確定何時完成所有任務?我嘗試過使用應用程序引擎管道API,但它看起來並不像我的特殊用例那樣,即使它是一個很棒的API。
我的使用案例是,我想製作一大堆速率有限的URL獲取調用,同時寫入一個blob。在所有網址抓取調用結束時,我想完成blob。
我找到了使用管道API的解決方案,但是它向數據存儲寫了很多內容,以至於我無法經常需要運行管道,從而降低成本。
你已經看過Fantasm了嗎?文章中有一個有趣的部分描述了fanning:http://code.google.com/appengine/articles/fantasm.html#in,並且您能預測提前產生的任務數量嗎? – proppy 2012-01-27 01:10:47
嗨特普皮,謝謝你。我的例子是粉絲之一,你提到的fantasm文章談論使用粉絲進行優化計數操作。這可能會派上用場,但我不知道我的特定用例事件的數量,所以我想這意味着我必須做某種遞歸計數。我希望有人能夠讓我遠離這一點。 – 2012-01-27 04:32:37
您是如何確定管道API不符合成本效益的?數據存儲的寫入很便宜,特別是在不需要索引的情況下。 – 2012-01-27 04:47:22