だから、ZeroMQ パイプライン アーキテクチャのこの小さな例を作成しました。これは、近いうちに同様のことを行う必要があり、パイプラインの概念を正しい方法で把握しようとしているからです。
https://gist.github.com/2765708
現在、これは完全に非同期です。コントローラーはタスクのバッチをさまざまなワーカーにディスパッチし、ワーカーは次にメッセージをシンクに送信します。コントローラーとシンクは私のアーキテクチャの固定部分ですが、ワーカーは動的です。それは最高です。
ただし、労働者がすべてのタスクの作業をいつ終了したかを知りたいです。その例では、メッセージの量はわかっていますが、実際の状況ではそうではありません。100通か10,000通のメッセージがあるかもしれません。では、シンクまたはコントローラーは、ワーカーがタスクの作業を終了したことをどのように知ることができるのでしょうか? ワーカーに送信されたジョブの結果に応じて、いくつかのアクションを実行する必要があります。