1

私はbeanstalkを使用して、現在のジョブがさらに、最後にキューに入れられたジョブを現在のジョブに置き換える必要があります。つまり、タスクの最後にキューに入れられたジョブのみを処理する必要があります。

Beanstalkを使用してそれをどのように達成できますか?

私が今得ているアイデアは次のとおりです。タスクごとに、memcachedを使用して最新のタイムスタンプを保存し(ジョブをキューに追加するときにこれを設定します)、ワーカーがジョブを正常に予約するたびに、最初にmemcachedでこのタスクのタイムスタンプをチェックします。ジョブはmemcachedのタイムスタンプと同じです。次に、このジョブを処理します。それ以外の場合は、このジョブをスキップして、キューから削除します。

それで、そのような仕事をするより良い方法はありますか?提案をお願いします、ありがとう。

4

2 に答える 2

2

memcacheとbeanstalkの組み合わせも、新しいが同一のジョブがキューに入ることを望まない実装に最適なソリューションであることがわかりました。

于 2012-05-15T21:46:17.287 に答える
1

名前付きジョブ」が完了してソフトウェアがリリースされるまで、それはより良い解決策の1つである可能性があります。

于 2011-01-09T19:21:29.840 に答える