小编Liz*_*Liz的帖子

如何同时使用 eventlet 服务器在 waitress 和 socket.io 上提供 Flask 应用程序?

我正在使用 waitress 服务器来部署 Flask 应用程序进行生产。我还使用flask的socketio以及需要运行自己的应用程序的eventlet服务器。

目前仅向女服务员提供应用程序: serve(app, host='0.0.0.0', port=8080)

如何包含用于运行套接字服务器的 socket.run 命令? socketio.run(app)

我的代码:此代码片段为要在其上运行的 Flask socketio 设置服务器,并且在 if name 部分中,如果处于生产模式,我会在 waitress 上为应用程序提供服务。

应用程序.py

import eventlet
async_mode = None
if async_mode is None:
    try:
        async_mode = 'eventlet'
    except ImportError:
        pass
if async_mode is None:
    async_mode = 'threading'
print('async_mode is ' + async_mode)
if async_mode == 'eventlet':
    eventlet.monkey_patch()
    socketio = socketIO(app,cors_allowed_origins='*',async_mode=async_mode)

if __name__=='__main__':
    if env_mode=='dev':
        app.run(host='0.0.0.0', port=8080)
    elif env_mode=='prod':
        serve(app, host='0.0.0.0', port=8080)
Run Code Online (Sandbox Code Playgroud)

flask eventlet socket.io waitress flask-socketio

5
推荐指数
0
解决办法
1306
查看次数

标签 统计

eventlet ×1

flask ×1

flask-socketio ×1

socket.io ×1

waitress ×1