我有一个 Python/Flask Web 应用程序,我通过 Gunicorn 在 Amazon ECS 上的 docker 映像中部署它。一切顺利,然后突然,包括最后一个成功的请求,我在日志中看到了这一点:
[2017-03-29 21:49:42 +0000] [14] [DEBUG] GET /heatmap_column/e4c53623-2758-4863-af06-91bd002e0107/ADA
[2017-03-29 21:49:43 +0000] [1] [INFO] Handling signal: term
[2017-03-29 21:49:43 +0000] [14] [INFO] Worker exiting (pid: 14)
[2017-03-29 21:49:43 +0000] [8] [INFO] Worker exiting (pid: 8)
[2017-03-29 21:49:43 +0000] [12] [INFO] Worker exiting (pid: 12)
[2017-03-29 21:49:43 +0000] [10] [INFO] Worker exiting (pid: 10)
...
[2017-03-29 21:49:43 +0000] [1] [INFO] Shutting down: Master
进程消失,程序退出。然后ECS重启服务,再次运行docker镜像,但同时服务中断。
什么会导致我的程序收到 TERM 信号?我在网上找不到任何关于这种情况的参考。请注意,这仅发生在 ECS 上的 Docker 中,而不发生在本地。