2016-07-12 1 views
1

私はこの問題の解決策を探していました。私はそれをGoogleにしようとしましたが、まだ何も見つかりませんでした。Sidekiqのパラメータまたは引数の変更

問題:

私はかなり時に実行されているこの労働者

class MailWorker 
    def perform(user_id) 
    user = User.find(user_id) 
    ... 
    end 
end 

を持っています。そして、要件の変更、私たちはuser_idの代わりにreservation_idを渡さなければなりません。

だから、労働者がにアップデート:

class MailWorker 
    def perform(reservation_id) 
    reservation = Reservation.find(reservation_id) 
    .... 
    end 
end 

問題は、我々はこのコードをプッシュする場合は、労働者の一部はQ.に既にあるので、これらの労働者は、ユーザーが、新しいコードを見つけようとします、ですトランザクションを使用しています。

これにはどのような方法が最適ですか?既存のものを使用するのではなく、新しいWorkerを作成し、安全であれば古いものを削除する必要がありますか?またはこれを処理する方法がありますか?

ありがとうございました

答えて

3

私は個人的にこれのために新しいワーカーを作成します。

これにより、すべてのジョブをより簡単に処理できます。 (下位互換性あり)

関連する問題