Как получить идентификатор задания у второго работника при вызове второго работника у первого работника - PullRequest
0 голосов
/ 04 мая 2019

Я использую 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

Я звоню в SampleWorker из MainWorker. Я получаю идентификатор задания Sidekiq в MainWorker при печати. Но я вижу идентификатор задания как ноль в SampleWorker при печати. ​​

Как получить тот же идентификатор задания в SampleWorker из MainWorker, не передавая его в качестве параметра?

Есть ли доступная опция сеанса? Если да, как я могу это сделать?

1 Ответ

0 голосов
/ 08 мая 2019

Вы не создаете задание SampleWorker, поэтому JID не назначен.Чтобы создать задание SampleWorker, вы должны позвонить perform_async.Звонок SampleWorker.new.perform напрямую обходит Sidekiq.

...