私が構築しようとしているワークフローはこれです、多くの関連タスクをキューに入れ、並行して実行します (少なくとも数千) 関連するすべてのジョブが終了したら、ファイナライズ ジョブを実行します
その単一のファイナライズジョブを実行する方法がわかりません。関連するすべてのタスクが完了したら、このタスクをできるだけ早く実行したいと思います。ただし、私が考えることができる唯一のことは、すべてのタスクが終了したかどうかを確認し、ファイナライズ タスクをキューに入れる単一のスレッド化されたポーリング ジョブに頼ることです。
パイプラインのドキュメントhttps://code.google.com/p/appengine-pipeline/を見て、 http://www.google.com/events/io/2010/sessions/high-throughputを見ました-data-pipelines-appengine.html最初は有望に見えましたが、そこから良い解決策を見つけることができませんでした。
パイプライン ライブラリをもう少し検討した後、待機中のジョブを必要な数にスケーリングするために使用できるパターンを見つけたと思います。
バッチ エンキュー ジョブを作成します。このジョブは一度にタスクのバッチをキューに入れ、エンキューされたバッチが完了するのを待つ別のバッチ エンキュー ジョブを開始します。最後に、実行するバッチがなくなると、アグリゲーター ジョブが実行されます。
それは、多数の待機中のジョブに使用するパターンですか?