我写了这样的东西(有更多代码,重要的部分是 sleep(5)):

def get(self):
    import time
    time.sleep(5)
    return jsonify({'result':'OK'})

我这样启动我的服务器:

gunicorn serve:app -b 127.0.0.2:8000 -w 4

当应用程序处于“睡眠”状态时,是否会阻塞整个工作人员?这有何影响 gunicorn的反应能力?

有帮助吗?

解决方案

gunicorn 将默认使用同步工作线程,它一次只会服务一个请求,因此 yes 将在长轮询的生命周期内消耗该工作线程。 gunicorn 确实支持 异步工作者, ,这将允许工作人员在长轮询的同时满足其他请求 - 请参阅 选择工人类型:

gunicorn -k gevent -b 127.0.0.1:8000 serve:app
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top