我在python中运行脚本并且需要很长时间才能处理。问题是如果函数需要很长时间才能运行,我想nginx在配置中有一个超时,可以防止某些错误,并阻止函数完全运行。
我只是想知道我可以增加超时的值。因为我在nginx的文件conf中尝试了一些命令,例如:
uwsgi_connect_timeout 75;
uwsgi_send_timeout 75;
uwsgi_read_timeout 75;
keepalive_timeout 650;
但这一切都没有效果。
事先提出
答案 0 :(得分:1)
仅延长超时的问题在于,无论您将其设置为多长时间,您都会遇到限制。使用Web服务器,浏览器或地理编码调用。如果在请求中经常失败n次,那么你就无法做出任何保证。
因此,不是让客户端请求挂起在长时间运行的进程上(并且通过扩展冒着服务器超时的风险),为什么不使用像celery这样的东西来运行那些地理编码任务,而不是在客户端,通过javascript提交客户端请求,并通过ajax轮询服务器以获得答案,直到得到回复为止?
答案 1 :(得分:0)
我在NGIX + uWSGI配置中也有错误的网关错误,并且为了谷歌这个问题的人:它可能缺少uwsgi python插件。请参阅:uWSGI configuration issue: uwsgi fails without any error message.。
答案 2 :(得分:0)
我尝试了上述回复中所写的所有内容以及其他地方,但它们没有用。
我的解决方案是在uwsgi.conf和nginx.conf文件中更改我的套接字。