我们有一个django
应用程序是通过gunicorn
同步工作者提供的。在tornado
应用程序本身的线程中运行着django
服务器(我们不用争论体系结构,它是旧代码),并与worker紧密耦合。
它将自身绑定到db
中存储的空闲端口。现在,每次工作者重新启动时,我也需要启动tornado
,但是由于已使用该端口,因此它不会启动。
我需要以某种方式检测到该工人掉线了,并且需要将端口状态存储为可用。但是,无论如何我都无法检测到。
signal.signal(signal.SIGTERM, stop_handler)
signal.signal(signal.SIGINT, stop_handler)
仅在我手动杀死工作程序时检测到上述情况,而在gunicorn
重新启动工作程序本身时未检测到。
如何检测到相同的内容?