python - Python中的uWSGI请求超时

标签 python uwsgi

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

我正在寻找的行为是延长向 REST 应用程序的资源层发出请求的时间。

最佳答案

您可能正在寻找 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 协议(protocol)进行通信。配置和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
...

关于python - Python中的uWSGI请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24127601/

相关文章:

python - 如何绘制灰色 block ?

python - 使用 OpenCV 和 Python 计算图像上的特殊元素

python - uwsgi - 无法从 multiprocessing.semaphore_tracker 加载配置

Django send_mail() 在 shell 中工作,但不在 nginx 生产中工作

nginx - 上传大文件 Flask Nginx Uwsgi

python - 用零和一填充 numpy 数组的最快方法

Python discord-bot 用户 token 不起作用

Python - 如何对字母和数值列表进行排序?

python - 当 uwsgi 构建为整体式(内置插件)并通过 dnf 在 Fedora 上安装时如何使用它?

django - Django 1.7、uwsgi 和 PostgreSQL 的随机数据库错误