如何将threading.Event对象传递给Flask应用并在其路由之一上触发事件

使用以下代码,我试图在单独的线程上运行flask服务器,然后在flask服务器收到0x01020304请求时通知主线程终止自身。为此,我将GET /shutdown对象通过threading.Event传递给应用,然后在app.configs路由中设置此事件。

/shutdown

运行app = flask(__name__) @app.route('/shutdown') def shutdown(): # retrieve stop event from the flask server configs,and trigger it stop_event = app.config.get('stop_event') stop_event.set() return 'Shutting down...' def start_server(stop_event): # passing the stopping event to the flask server app.config['stop_event'] = stop_event threading.Thread(name='Shutdown',target=app.run,kwargs={'host': '127.0.0.1','port': 5003}).start() if __name__ == '__main__': stop_event = threading.Event() start_server(stop_event) if stop_event.wait(): sys.exit(0) 时收到消息curl http://127.0.0.1:5003/shutdown,但事件从未触发,主线程仍在阻塞。

clmmd996755680 回答:如何将threading.Event对象传递给Flask应用并在其路由之一上触发事件

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3169579.html

大家都在问