Resque を使用した Rails アプリがあります。1 つのワーカーが失敗した場合、そのワーカーを生成したモデルに関連するすべてのワーカーを強制終了したいと考えています。
Resque.workers を取得できることはわかっていますが、それらを反復処理すると、エンキューされたワーカーに対して :idle が表示されます。
Resque.queues を実行すると、キューが配列として返されます。キューのサイズを取得できますが、待機中のワーカーにアクセスするにはどうすればよいですか?
次のようなものが欲しい:
parent_id = 999
Resque.queues.each do |q|
q.workers.each do |w|
if w.job.payload.args[0] == parent_id.to_s?
#kill worker
end
end
end