gunicorn -b 0.0.0.0:5000 app:app --worker-class gevent --timeout 120
我只有使用 worker-class sync 我才能请求成功,其他模式就是 等将近一分钟才能返回 502 Bad Gateway ,代码也没有报错。这问题到底在哪???
我目前推测是 使用 gevent 或 eventlet 被阻塞了,一直没有成功运行,但是也感觉不是这样 很头大
下面是 gevent 模式运行, 一直卡在这, 如果是 sync 模式,我代码中的打印信息好歹会打印。所以我推测是 阻塞,但是不知道为啥........
[2022-08-01 10:12:11 +0000] [3170259] [INFO] Starting gunicorn 20.1.0
[2022-08-01 10:12:11 +0000] [3170259] [INFO] Listening at: http://0.0.0.0:5000 (3170259)
[2022-08-01 10:12:11 +0000] [3170259] [INFO] Using worker: gevent
[2022-08-01 10:12:11 +0000] [3170260] [INFO] Booting worker with pid: 3170260
1
vincent441 2022-08-02 09:22:47 +08:00
|
2
hhhhhh123 OP @vincent441 他好像是使用 sync 出了问题,然后推荐 gevent,eventlet 异步模式,我 sync 模式是完全 ok 的, 但是 gevent,eventlet 模式不行.
|
3
vincent441 2022-08-02 10:05:49 +08:00
我在 uwsgi 中加上了 猴子补丁,然后 使用 gevent 模式启动了,正常的
wsgi.py from gevent import monkey monkey.patch_all() 启动命令:gunicorn -c gnc_config.py <project_name>.wsgi:application |