在Docker中运行Sidekiq – 处理Docker容器的终止?

我正在使用Rails + Sidekiq + Docker。 我打算在Docker容器中部署我的Sidekiq进程。 我的工作是相当长时间的运行,并且具有不可预知的持续时间(基本上,它正在执行对数据库的长时间运行的查询 – 可能长达10-15分钟)

当我杀死我的docker集装箱(作为新部署的一部分)时,我如何告诉Sidekiq优雅地停下来,以避免现有的工作中断?

有没有人以前面临类似的情况。 如果是这样,你如何解决这个问题?

docker stop -t XX应发送TERM信号告诉Sidekiq关机并等待XX秒。

你会想用sidekiq -t XX来延长Sidekiq的硬超时时间。