ループをエンキューして100個のタスクがあり、それらのタスクのそれぞれがタスクをエンキューする可能性がある場合、すべてのタスクが完了したかどうかをどのように確認できますか?アプリエンジンタスクのすべてが完了しているかどうかを確認するにはどうすればよいですか?
ShardedCountersを使用してこの問題について考えました。各タスクが完了すると、カウンタをインクリメントして、count == 100であるかどうかを調べることができます。もちろん、この再帰的なカウントのシナリオに入るまで、タスクは自分のタスクを生成するタスクで分断されます。私はそれがウサギの穴を下ることは良い考えではないと分かりました。なぜなら、断片化されたカウンターは原子ではないように見えるからです。
http://code.google.com/appengine/docs/python/taskqueue/rest.html#method_taskqueue_tasks_list
YouTubeでSlatkinのトークを見ています。それが解決策につながる場合、私はこれをそれにマークします。ありがとう! –
パイプラインAPIは素晴らしいですが、私はそれが一般的な再帰のみのテール再帰では機能しないと思います。 –
はい、これが答えでした。パイプラインAPIは信じられないほどです! http://stackoverflow.com/questions/8996760/writing-to-an-appengine-blob-asynchronously-and-finalizing-it-when-all-tasks-com –