現象
- ある日、突然、development環境で、Sidekiqのジョブがenqueueされなくなった・・・
原因
- Gemfile内で、
rspec-sidekiq
をdevelopment環境にも入れてしまっていたため。
group :development, :test do
gem 'rspec-sidekiq'
end
ここに書いてあった
-
rspec-sidekiq
のFAQ & Troubleshootingにありました。
Sidekiq jobs will not be pushed to Redis but instead to a jobs array to enable testing.
- つまり
rspec-sidekiqを使うと、SidekiqはジョブをRedisにpushしないで、代わりにテスト用の配列に入れる
ということらしい
対応
- test環境だけに
rspec-sidekiq
入れました。
group :test do
gem 'rspec-sidekiq'
end
あとがき
- まあdevelopmentには入れる人いないでしょうけど、ひょんなことから
rspec-sidekiq
の中身が見れてよかったです。