我正在使用sidekiq处理后台作业。
class MainWorker
def perform(from_date, to_date)
Rails.logger.info "In MainWorker, job id #{jid}"
SampleWorker.new.perform(from_date, to_date)
end
end
class SampleWorker
def perform(from_date, to_date)
Rails.logger.info "In SampleWorker, job id #{jid}"
end
end
我正在从MainWorker呼叫SampleWorker。我在打印时在MainWorker中获得Sidekiq作业ID。但是我在打印时在SampleWorker中看到Job id为nil。
如何通过MainWorker在SampleWorker中获得相同的工作ID,而不传递为参数?
有没有可用的会话选项?如果是,该怎么办?
答案 0 :(得分:0)
您没有创建SampleWorker作业,因此未分配JID。要创建SampleWorker作业,必须调用perform_async
。直接呼叫SampleWorker.new.perform
会完全绕过Sidekiq。