我正在使用Rails + Sidekiq + Docker。我打算在Docker容器中部署我的Sidekiq进程。我的工作时间很长,而且持续时间不可预测(基本上它正在对数据库执行长时间运行的查询 - 最长可达10-15分钟)
当我杀死我的docker容器时(作为新部署的一部分),我如何告诉Sidekiq优雅地停止以便不会中断现有的作业?
之前有没有人遇到类似的情况。如果是这样,你如何解决这个问题?
答案 0 :(得分:3)
docker stop -t XX
应该发送TERM信号告诉Sidekiq关机并等待XX秒。
您还希望使用sidekiq -t XX
扩展Sidekiq的硬超时。