【问题标题】:Async worker on gunicorn seems blockinggunicorn 上的异步工作者似乎阻塞
【发布时间】:2015-06-14 03:51:38
【问题描述】:

我正在使用带有 gunicorn 服务器和 gevent 工作程序类的 Flask 应用程序,根据the gunicorn documentation,它是一个异步工作程序。但是,当我使用单个工作人员启动 gunicorn 并尝试发出长请求时(我在路由函数中添加了sleep(10),但实际上在处理大型上传时也会发生这种情况),直到前一个我才能发出任何请求一个完成了。它的行为就像是一个同步工作者,一次一个请求。

这是正常行为吗?我是否缺少有关同步与异步工作人员的一些信息?

【问题讨论】:

    标签: flask gunicorn gevent


    【解决方案1】:

    如果你不给sleep 打猴子补丁(或使用geventnon-blocking version of sleep),那么阻塞阻塞整个事件循环的工作人员

    要么打电话给gevent.monkey.patch_all(或者更具体地说是gevent.monkey.patch_time或者gevent.sleep替换你对time.sleep的电话

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      • 2016-07-14
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 2012-12-18
      相关资源
      最近更新 更多