首页 > 解决方案 > 检测 gunicorn worker 重启

问题描述

我们有一个django通过gunicorn同步工作者服务的应用程序。有一个tornado服务器在应用程序本身的线程中运行django(我们不要争论架构,它是遗留代码)并且与 worker 紧密耦合。

它将自己绑定到存储在db. 现在每次一个工人重新启动时,我也需要启动它tornado,但由于端口已被使用,它不会启动。

我需要以某种方式检测到该工人出现故障,并且需要将端口状态存储为可用。但是,无论如何我都无法检测到这一点。

 signal.signal(signal.SIGTERM, stop_handler)
 signal.signal(signal.SIGINT, stop_handler)

以上仅在我手动杀死工作人员时检测到,但在gunicorn重新启动工作人员本身时不会检测到。

我怎样才能检测到相同的?

标签: pythondjangogunicorn

解决方案


推荐阅读