sidekiq とdelayed job gemの両方がインストールされたアプリがあります。アクティブなレコード モデルで handle_asynchronously をトリガーすると、delayed_job をトリガーしたいときに sidekiq によって処理されているように見えます。
特定のモデルの sidekiq を無効にする方法はありますか?
sidekiq とdelayed job gemの両方がインストールされたアプリがあります。アクティブなレコード モデルで handle_asynchronously をトリガーすると、delayed_job をトリガーしたいときに sidekiq によって処理されているように見えます。
特定のモデルの sidekiq を無効にする方法はありますか?
アップデート:
Sidekiq は、そのdelay
モジュールを完全に無効にするか、または としてエイリアスする方法を提供するようになりましたsidekiq_delay
。やり方はこちらをご確認ください。https://github.com/mperham/sidekiq/wiki/Delayed-Extensions#disabling-extensions
sidekiq の古いバージョンの場合:
このモンキー パッチを使用して、呼び出し.sidekiq_delay()
が sidekiq に行き、DelayedJob に.delay()
行くようにします。Viren の回答によると、これで問題も解決すると思います。
パッチはそれほど複雑ではなく (単なるエイリアスの集まり)、delay
実際に呼び出しているものを意識的に決定する力を与えます。