0

resque ワーカーが終了したら、いくつかの ruby​​ コードを実行したいと考えています。ワーカーのステータスを取得できるresque-status gemを見つけましたが、ステータスが からworkingに変わったら、どのようにコードを実行すればよいでしょうcompletedか?

4

1 に答える 1

1

これは、ワーカー ジョブ自体の範囲外で処理する必要があります。通常、ワーカーが変更するデータの属性にオブザーバーを作成します。

たとえば、ワーカーが従来の ActiveRecord モデルで作業している場合、モデルで after_update メソッドを定義できます (または after_update メソッドを使用してそのモデルのオブザーバーを定義できます)。ジョブの状態 (完了、作業中など) を判断するためにモデルで何をチェックするかは、ユーザー次第です。

または、モデルに状態属性を作成し、ワーカーが従来の AASM スタイルの呼び出しを使用してモデルの状態を更新することもできます。状態遷移コールバックは、working->completed イベントを処理します。

于 2011-07-12T17:17:09.623 に答える