2

我已将我的应用程序升级到 Rails 版本 4.2.0.rc2。我尝试使用 sidekiq 作为 active_job 后端。它在开发环境中工作正常,但在生产环境中它使用 Inline(mailers) 而不是 Sidekiq。

# config/initializers/active_job.rb 
Rails.application.configure do
  config.active_job.queue_adapter = :sidekiq
end

rails server -e 开发

[ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID:...) to Sidekiq(mailers)

rails sever -e 生产

[ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID:...) to Inline(mailers) 

在控制台上

$ rails c -e production
Loading production environment (Rails 4.2.0.rc2)
[1] pry(main)> Rails.configuration.active_job.queue_adapter
=> :sidekiq

我究竟做错了什么?

4

1 回答 1

6

我找到了解决方案。而不是初始化程序将您的 queue_adapter 配置放入应用程序配置。

# config/application.rb
module YourApp
  class Application < Rails::Application
    config.active_job.queue_adapter = :sidekiq
  end
end
于 2014-12-12T16:17:26.083 回答