我正在尝试向sidekiq工作人员发送选项。 Sidekiq正在使用Activejob
class User
def do_background_task(object, options={})
MyJob.perform_later(id, object.id, options )
end
end
class MyJob < ActiveJob::Base
queue_as :default
def perform(user_id,object_id,options={})
user = User.find(user_id)
object = Object.find(user_id)
selector = options[:selector] if options[:type]
do some things....
if selector == 'true'
do some other things.....
end
end
end
这不起作用,似乎是因为ActiveJob或Sidekiq不喜欢接收键控哈希。例如,@user.do_background_task(@object, selector: true)
导致错误NoMethodError: undefined method
[]'为nil:NilClass`。
将密钥传递给队列的可接受方法是什么?