2016-06-28 15 views
0

私は失敗する可能性のあるサイドキージョブを持っています。ジョブには、REST APIへのリクエストを行う操作がいくつか含まれています。失敗した場合、Sidekiqはその作業を繰り返すでしょう。しかし、私はそれが最初から仕事を繰り返すことを望んでいない、それは失敗を引き起こした操作から最後の操作が成功した時点まで繰り返す必要があります。どうやってやるの?障害が発生したが、障害が発生した時点からサイドキックを繰り返します。

答えて

3

これは明らかに不可能です。 Sidekiqはあなたのコードを解析せず、彼はについてほとんど何も知りません。エラーが発生しました。 1つは、小さな仕事の鎖に仕事を分割する必要があります、他の1つを実行している。

class Job1 
    def perform 
    ... 
    Job2.perform_async 
    end 
end 

... 

このようにして、Job3が失敗した場合、それは再スケジュールされ、すべてがあなたの望むとおりに正しく動作します。

+0

私は、各操作に1つのジョブクラスワーカーを用意する必要がありますか?それは私の目標を達成するための慣用的な方法ですか? –

+0

あなたの目標を達成するのはまったくの方法ですが、どれくらい慣れているか気にする必要はありません:) – mudasobwa

関連する問題