Можно ли программно получить пакетный идентификатор из задания sidekiq или получить активные / ожидающие идентификаторы задания из пакета? - PullRequest
0 голосов
/ 13 июня 2019

Я заинтересован в возвращении списка запланированных и активных заданий, запущенных для пакета.Для активных заданий нет bid, чтобы связать это обратно с пакетами.Есть ли способ узнать отношения, поскольку sidekiq ui показывает JID для пакета.Или, если возможно, есть ли в любом случае получение запланированных / активных заданий через пакет, например batch.active_jobs && batch.pending_jobs

Я пытался просмотреть документацию для sidekiq, но не нашел решения, возможно ли это.

https://www.rubydoc.info/github/mperham/sidekiq/Sidekiq/Workers https://github.com/mperham/sidekiq/wiki/Best-Practices

Для получения пакета мне необходимо:

batch_statuses = Sidekiq::BatchSet.new
batches = batch_statuses.select{|batch_status| status.callbacks["complete"].first.keys.first.include?("my_batch")}

запланированных заданий для пакета:

scheduled_jobs = Sidekiq::ScheduledSet.new
scheduled_jobs = scheduled_jobs.select{|job| job.item["bid"] == batches.first.id}

активных рабочих мест:

active_jobs = Sidekiq::Queue.new
# active_jobs_for_batch
...