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 '[]' for nil:NilClass
。
キーをキューに渡すために受け入れられている方法は何ですか?