1

作为持续交付管道的一部分,我们正在将 sidekiq 工作器版本部署到 Cloud Foundry。如果他们不再是最新版本,我们需要停止工人处理新工作。所以:

  1. Worker v1 正在运行并执行 30 分钟的作业。
  2. 我们部署了工作代码的 v2。
  3. v1 应继续当前作业,但不启动任何新作业。

CloudFoundry 不允许我们发送USR1,因此我们需要一个解决方案,允许工作人员在每个工作开始之前确定他们是否是最新版本。

4

1 回答 1

2

在您的 V2 代码库中使用新的队列名称

例如/

class ImportantWorker
  include Sidekiq::Worker
  sidekiq_options queue: :new_queue_name
  ....
end

并确保更新 sidekiq 配置以反映新的队列名称

于 2014-10-01T10:25:25.913 回答