我有一个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中发生,而不在本地发生。

最佳答案

原来,在向系统添加登录页面后,运行状况检查将302重定向到/处的/ login,这使运行状况检查失败。因此,该容器被定期杀死。亚马逊的支持很棒!

关于python - 为什么我的大佬Python/Flask worker 退出信号术语?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43104913/

10-12 22:17