Sidekiq 3.4.2 和 Rails 4.2.0 与 'undefined method perform_at' 有错误
Sidekiq 3.4.2 and Rails 4.2.0 having error with 'undefined method perform_at'
我有前任class的工作
class TempJob < ActiveJob::Base
queue_as :default # To Do Design Queue
around_perform do |job, block|
puts "Before Perform'
block.call
puts "After Perform"
end
def perform(*args)
puts "Job Start"
end
end
我正在尝试安排作业在 1 小时后执行
TempJob.perform_at(1.hour.from_now)
但它给我以下错误
NoMethodError: undefined method `perform_at' for TempJob:Class
使用 Rails 4.2.0、Ruby 2.2.0 和 Sidekiq 3.4.2。
perform_at
是Sidekiq提供的方法名,不是ActiveJob。如果你想使用 ActiveJob 在相对时间将作业安排到 运行,你应该使用 ActiveJob's set 方法,如下所示:
TempJob.set(wait: 1.hour).perform_later
我有前任class的工作
class TempJob < ActiveJob::Base
queue_as :default # To Do Design Queue
around_perform do |job, block|
puts "Before Perform'
block.call
puts "After Perform"
end
def perform(*args)
puts "Job Start"
end
end
我正在尝试安排作业在 1 小时后执行
TempJob.perform_at(1.hour.from_now)
但它给我以下错误
NoMethodError: undefined method `perform_at' for TempJob:Class
使用 Rails 4.2.0、Ruby 2.2.0 和 Sidekiq 3.4.2。
perform_at
是Sidekiq提供的方法名,不是ActiveJob。如果你想使用 ActiveJob 在相对时间将作业安排到 运行,你应该使用 ActiveJob's set 方法,如下所示:
TempJob.set(wait: 1.hour).perform_later