ActiveJob不在生产环境中使用sidekiq

bob*_*lin 2 ruby-on-rails sidekiq rails-activejob

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

# config/initializers/active_job.rb 
Rails.application.configure do
  config.active_job.queue_adapter = :sidekiq
end
Run Code Online (Sandbox Code Playgroud)

rails sever -e开发

[ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID:...) to Sidekiq(mailers)
Run Code Online (Sandbox Code Playgroud)

rails sever -e production

[ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID:...) to Inline(mailers) 
Run Code Online (Sandbox Code Playgroud)

在控制台上

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

我究竟做错了什么?

bob*_*lin 6

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

# config/application.rb
module YourApp
  class Application < Rails::Application
    config.active_job.queue_adapter = :sidekiq
  end
end
Run Code Online (Sandbox Code Playgroud)