我遇到sidekiq/activejob
集成问题。我有一个控制器从MyJob类调用perform_later
方法。这适用于perform
方法,但当我更改为perfom_later
时,作业将在我的开发日志中进行安排。但是,当我看到sidekiq仪表板时,在重试部分,我可以看到NameError: uninitialized constant
(见下图)
这些是我的文件:
# app/jobs/crime_job.rb
class CrimeJob < ActiveJob::Base
queue_as :default
def perform(crime)
puts "Perform #{crime}"
end
def self.job_name(crime)
"RadarCrime:#{crime.id}"
end
end
犯罪控制员
# app/controllers/crime_controller.rb
def show
# [...]
CrimeJob.perform_later(@crime)
end
Sidekiq初始化程序
# config/initializers/active_job.rb
Rails.application.config.active_job.queue_adapter = :sidekiq
答案 0 :(得分:3)
好吧,我也在Sidekiq存储库中打开了一个问题,解决方案比我想象的要容易。
只需重启sidekiq进程即可。