1

私はenqueue仕事にResqueを使用しています。

ワーカーを開始すると、ジョブが処理されます。

before_enqueue私のジョブは、after_enqueuebefore_perform、などのジョブ フックを実装する gem を拡張し、after_performデータを statsd に送信します。それらは機能します。しかし、before_dequeueafter_dequeue呼ばれていないようです。理由はありますか?

また、Resque についての私の理解はすべてではありません。を呼び出しResque.enqueueてジョブ クラスをキューに入れ、Resque ワーカーを開始すると、自動的にキューからタスクがポップされ、次にタスクがポップされperformます。どこでdequeue出番ですか?Resqueワーカー ワークフローでステップdequeueが発生するのはいつですか?dequeue

after_dequeueタスクがキューに留まっている時間を記録したいのでフックしたいので、 before_enqueueand にフックする必要がありafter_dequeueます。

4

1 に答える 1

1

クライアントがRedis/Resque から手動でジョブを実行するdequeueために使用されます。dequeueジョブがキューで費やした時間を計算するには、時間をキャプチャする必要がafter_enqueueありbefore_performます。Resque がキューからジョブをポップするとき、フックできるフックはありません。

于 2013-09-23T18:17:45.960 に答える