Python中的uWSGI请求超时

发布于 2021-01-29 19:02:58

在尝试为uWSGI中的请求设置超时时,我不确定设置是否正确。似乎有多个超时选项(套接字,接口等),并且不清楚要配置哪个设置或在哪里进行设置。

我正在寻找的行为是延长对REST应用程序的资源层的请求可以花费的时间。

关注者
0
被浏览
47
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可能正在寻找 harakiri 参数-
    如果请求花费的时间超过指定的harakiri时间(以秒为单位),则该请求将被删除,并且相应的工作程序将被回收。

    对于独立的uwsgi(ini配置):

    [uwsgi]
    http = 0.0.0.0:80
    harakiri = 30
    ...
    

    如果在uwsgi之前具有nginx代理,则还必须增加超时:

      location / {
        proxy_pass http://my_uwsgi_upstream;
        proxy_read_timeout 30s;
        proxy_send_timeout 30s;
      }
    

    如果您希望(出于某种奇怪的原因)超时超过60秒,则可以考虑通过uwsgi协议进行通信。配置与nginx站点非常相似:

    location / {
        uwsgi_read_timeout 120s;
        uwsgi_send_timeout 120s;
        uwsgi_pass  my_upstream;
        include     uwsgi_params;
    }
    

    uwsgi:

    [uwsgi]
    socket = 0.0.0.0:80
    protocol = uwsgi
    harakiri = 120
    ...
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看