运行 Docker 内的 Sidekiq - 处理 Docker 容器的终止?

Running Sidekiq inside Docker - Handle termination of Docker container?

我正在使用 Rails + Sidekiq + Docker。我计划在 Docker 容器中部署我的 Sidekiq 进程。我的工作很长 - 运行 并且持续时间不可预测(基本上它正在对数据库执行一个很长 - 运行 的查询 - 可能长达 10-15 分钟)

当我杀死我的 docker 容器(作为新部署的一部分)时,我如何告诉 Sidekiq 优雅地停止以便现有作业不会中断?

有没有人遇到过类似的情况。如果是这样,您如何解决这个问题?

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

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