2012-04-04 68 views
2

現在、私は複数の作業者を使用して多数のジョブを処理するためにPheanstalk(beanstalkd)を使用しています。ワーカーが非同期に実行されるため、すべてのジョブが終了したかどうかを判断する一般的な方法があるかどうかは疑問です。Pheanstalkジョブが完了したかどうかを確認する方法

最後に発行されたジョブに「終了」フラグを追加し、そのフラグを確認するためにワーカーを使用することを考えました。問題は最後のの仕事は常に労働者によって最後に完了しているわけではありません。労働者はハングアップしたり、クラッシュすることがあります。

答えて

0

すべての作業が完了したことを知りたい場合は、完了するとフラグを立ててすべてのフラグが完了するまで待つ必要があります。あなたが指摘したように、複数のワーカーにまたがる一連のジョブの完了の順序についての保証はありません。

複数のジョブではなく、単一のジョブとしてキューに入れられますか。その単一のジョブが完了するのを待つのは簡単ですか?

おそらく、これらのジョブがいつ終了するかを知る必要があるかどうかについて考える必要があります。例えば画像処理のために、実際の画像が準備できるまでプレースホルダ画像を表示することができる。あなたが本当にそれらがすべて終了するのを待つ必要があれば、おそらく非同期の作業キューには最適ではないでしょう。

より良い回答を得るには、質問を詳しく説明するか、より具体的な例を提示する必要があります。

乾杯! ポール

関連する問題