我有一个使用 gevent-socketio 运行的烧瓶应用程序,我以这种方式创建:
server = SocketIOServer(('localhost', 2345), app, resource='socket.io')
gevent.spawn(send_queued_messages_loop, server)
server.serve_forever()
我send_queued_messages_loop在一个 gevent 线程中启动,该线程不断轮询gevent.Queue我的程序存储数据以将其发送到 socket.io 连接的客户端
我尝试了不同的方法来停止服务器(例如使用sys.exit),无论是从 socket.io 处理程序(当客户端发送 socket.io 消息时)还是从正常路由(当客户端向 发出请求时/shutdown),但无论如何,sys.exit由于greenlets的存在,似乎失败了。
我试图先打电话gevent.shutdown(),但这似乎并没有改变任何东西
关闭服务器的正确方法是什么?