我已经使用 Sidekiq 实现了定时通知。我还想添加重新安排尚未运行的作业的能力。我确实在 sidekiq api 代码中看到了重新安排方法 https://github.com/mperham/sidekiq/blob/061068c551bd96eb6aa790dda0a4dad85bf55381/lib/sidekiq/api.rb但我不确定在初始化 SortedEntry 类时传递什么作为参数。文档中没有示例,所以我想知道是否有人对 Sidekiq 重新安排有任何经验? 顺便说一句,我在创建工作时捕获了 jid:
message_jid = MessagesWorker.perform_in(@message.deliver_at, msgs2_ids, @message.id)
最佳答案
你这样做:
Sidekiq::ScheduledSet.new.find_job(@message.jid).reschedule(1.day.from_now)
find_job
调用非常慢,无法扩展到计划集中的大量作业。我建议您:
- 使用作业取消,如 FAQ wiki page 中所述.
- 使用 Sidekiq Pro 的高性能 API 扩展。
关于ruby-on-rails - 您如何在 Sidekiq 中重新安排工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28088620/