2012-01-22 88 views
1

如果我有一個循環隊列表示100個任務,並且這些任務中的每一個都有可能使任務排隊,那麼我如何判斷是否所有任務都已完成?如何判斷一組應用程序引擎任務是否全部完成?

我想過使用ShardedCounters這個問題。一旦每個任務完成,我可以增加一個計數器,然後檢查計數是否爲100.當然,除非我進入這個遞歸計數場景,否則任務會產生自己的任務。我不確定這是不是一個好主意,因爲它看起來分片計數器不是原子的。

回答

1

你應該看看新的AppEngine pipeline API。這是將昂貴的任務鏈接在一起並通知何時完成的一種方式。還有一個很好的video from the Google IO conference,它演示了它。

+0

立即觀看YouTube上的Slatkin對話。如果它導致解決方案,我會將其標記爲它。謝謝! –

+0

管道API非常好,但我認爲它不適用於一般遞歸 - 只有尾部遞歸。 –

+0

是的,這是答案。管道API令人難以置信! http://stackoverflow.com/questions/8996760/writing-to-an-appengine-blob-asynchronously-and-finalizing-it-when-all-tasks-com –

相關問題