ruby-on-rails - 您如何在 Sidekiq 中重新安排工作?

标签 ruby-on-rails ruby ruby-on-rails-4 sidekiq

我已经使用 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 调用非常慢,无法扩展到计划集中的大量作业。我建议您:

  1. 使用作业取消,如 FAQ wiki page 中所述.
  2. 使用 Sidekiq Pro 的高性能 API 扩展。

关于ruby-on-rails - 您如何在 Sidekiq 中重新安排工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28088620/

相关文章:

ruby-on-rails - 我如何断言 Rails 集成测试中没有路由匹配?

ruby - 使用 XPath 解析文本电子邮件地址,NOT//A[startswith(@href, 'mailto:' )]

ruby-on-rails - 带有 Rails 4 的 compass 不起作用

mysql - Rails 无需迁移文件即可生成模型

ruby-on-rails - Rails 3.1.1,关于使用 remote true 两个 ajax 请求到服务器

ruby-on-rails - 在 Virtual Box Ubuntu 12.04 中运行 Rails 非常慢

sql - 根据聚合的关联模型字段对条目进行分组

ruby - Git 使用脚本(ruby?) pull 多个本地存储库

mysql - 如何添加 UNIQUE AUTO_INCREMENT FIRST id 列

ruby - Sidekiq 作业在 Heroku 上排在队列中