如何防止Sidekiq处理基于代码的版本新的就业机会?(How can I prevent Side

2019-10-21 01:41发布

我们正在部署一个sidekiq工人到Cloud Foundry的版本作为连续输送管道的一部分。 我们需要停止工处理新的就业机会,如果他们不再是最新版本。 所以:

  1. 工人V1正在运行,并且执行30分钟的工作。
  2. 我们部署工作者代码V2。
  3. V1应继续目前的工作,但没有启动任何新的。

CloudFoundry不会允许我们发送USR1 ,所以我们需要一个解决方案,让工人以确定他们是否是最新版本的每个作业开始前。

Answer 1:

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

例如:/

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

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



文章来源: How can I prevent Sidekiq processing new jobs based on code version?