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