ruby-on-rails - 集群中的 Sidekiq 作业

标签 ruby-on-rails redis sidekiq monit

我在两台服务器上运行我的应用程序。每个人都有一份工作,检查

every 2.minutes do
  runner "MailmanCheckJob.perform_later"
end

现在这个作业在每台服务器上运行。它检查新电子邮件并处理它们。如果电子邮件处理需要 4-5 分钟。一条消息被两个作业接收。 我如何确保每封电子邮件只被挑选一次。一旦所有处理结束,每封电子邮件都会被标记为已读。 它连接到远程redis。它们由 monit 监控。 是否有在集群中运行 sidekiq 的选项,以便只有一台服务器选择并运行作业。

-A

最佳答案

关于ruby-on-rails - 集群中的 Sidekiq 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916541/

相关文章:

ruby-on-rails - 使用 Heroku 推荐的 Unicorn 配置时出现错误 R12(退出超时)

javascript - 你能安全地将 JavaScript 类实例存储在 Redis 中吗?

php - 在插入 Redis 之前,我如何在 PHP 中转义字符串?

c - hiredis 失败,主机名中包含用户名和密码

ruby-on-rails - 如何在 rspec 中使用 sidekiq 禁用警告消息

mysql - 在 ActiveRecord 中使用 SQL 函数进行插入/更新

ruby-on-rails - 使用 Passenger 升级到 Rails 3 后,相对 root 会导致不同的 OpenID 用户 token

ruby-on-rails - Sidekiq Redis 数据库 key 随时间增加

ruby-on-rails - 组合两个 ActiveRecord 结果并按共享连接表属性排序

ruby-on-rails - Sidekiq 完成后继续