web-dev-qa-db-ja.com

Beanstalkdとチューブ上の複数の労働者

2人の労働者が1つのチューブで聞いていて、仕事が終わった場合、両方の労働者が同じ仕事を処理しようとしますか、それとも1人だけが要求しますか?

1
Ian

1人の労働者だけがあなたの仕事を要求します。だからそれは一つずつです。

Beanstalkのjobは、クライアントが「put」コマンドを使用して作成します。その寿命の間、それは「準備ができている」、「予約されている」、「遅れている」、または「埋もれている」の4つの状態のいずれかになります。 putコマンドの後、ジョブは通常、準備ができて開始されます。ワーカーが到着して「reserve」コマンドを実行するまで、準備完了キューで待機します。このジョブがキューの次のジョブである場合、ワーカー用に予約されます。ワーカーがジョブを実行します。終了すると、ワーカーは「削除」コマンドを送信してジョブを削除します。

キューからジョブを消費したいworkerは、「reserve」、「delete」、「release」、および「bury」を使用します。

2
Pentium10