我在sidekiq/activejob
集成方面遇到问题。perform_later
我有一个从 MyJob 类调用方法的控制器。这适用于该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