Давайте поставим много заданий в очередь на определенную дату my_date
.
На эту же дату столько работы, что некоторые из них работают всего через 20 минут после запланированной даты.
Как я могу получить эту запланированную дату, когда я использую мой perform
метод?
ps: я не могу передать эту запланированную дату как параметры, потому что это задание Cron (а я могу передавать только статические параметры)
PS2: выпуск GitHub https://github.com/mperham/sidekiq/issues/3945
edit: пока вот частичный ответ, все еще не удовлетворяющий (например, не работает для повторной попытки):
# wait for Sidekiq::Workers to be updated (5 sec)
sleep 8
the_exact_date = Time.at(Sidekiq::Workers.new.find { |_, __, w| w["payload"]["jid"] == jid }[2]["run_at"])
edit 2: текущий PR для sidekiq cron, который полностью решил мою проблему: https://github.com/ondrejbartas/sidekiq-cron/pulls