我正在实现一个使用APScheduler(它使用线程池)来获取一些资源的系统。uWSGI和优雅地杀死一个多线程的Flask应用程序
我想找出一种方法来检测“应用程序重新启动”,以便我将能够关闭APScheduler线程池。我正在通过向uWSGI主进程发送SIGHUP来重新启动。
有没有人尝试过其中之一?如果是这样,检测应用程序重新启动事件的正确方法是什么?
uwsgidecorators
有postfork
装饰,uwsgi
模块signal_wait
和signal_received
功能
signal_wait
功能块,所以我的线程运行,但uWSGI不服务请求。我也尝试将scheduler.daemonic
设置为False和True - 这对两种方式都没有帮助。该uWSGI进程仍然记录是这样的:
worker 1 (pid: 20082) is taking too much time to die...NO MERCY !!!