在预定的 Sidekiq 作业中获取 enqueued_at?

Get enqueued_at inside scheduled Sidekiq job?

我已经安排了工作

Worker.perform_at(time, args)

当这个工作最终执行时,有没有办法找出原来安排的时间?

写这个问题帮助我想出了这个解决方案,但我不确定它是否有效或者它是否是一个好的解决方案。工人内部:

this_job = Sidekiq::ScheduledSet.new.find_job(self.jid)
this_job.enqueued_at

如果你想在 Worker 中获取一些数据,你可以将它作为参数传入:

Worker.perform_at(time, Time.now.to_f, *args)