Django 处理包含多行的excel文件时出现错误502

Django 处理包含多行的excel文件时出现错误502,django,nginx,Django,Nginx,处理包含多行的excel文件时出现错误502 使用Django/Nginx 问题不在于文件的重量小于1Mb 此页面可以正确处理200行的文件,当文件有更多行时,问题开始出现,然后页面处理此文件的时间过长 这就是错误: 2012/07/28 14:29:54 [error] 18515#0: *34 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.

处理包含多行的excel文件时出现错误502

使用Django/Nginx

问题不在于文件的重量小于1Mb

此页面可以正确处理200行的文件,当文件有更多行时,问题开始出现,然后页面处理此文件的时间过长

这就是错误:

2012/07/28 14:29:54 [error] 18515#0: *34 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "POST /import/ HTTP/1.1", upstream: "http://127.0.0.1:9000/import/", host: "localhost:8080", referrer: "http://localhost:8080/import/"
我使用非常大的值​​对于变量,但我一直得到相同的错误

这是站点的配置:



这是全局配置:



你能给我一些帮助吗


致以最诚挚的问候

最好的选择是重写例程以使用django芹菜,但如果您需要快速解决方案,可以尝试通过添加以下内容来升级Nginx中代理传递的超时:

proxy_connect_timeout 300s;
proxy_read_timeout 300s;
如果要增加nginx服务的所有站点上的超时时间,则应将/var/nginx/sites available/[site config]上的此配置添加到特定站点或/var/nginx/nginx.conf

如果您使用的是gunicorn,那么还必须添加--timeout=300。例如:

gunicorn_django -D -b 127.0.0.1:8901 --workers=2 --pid=/var/webapp/campus.pid --settings=settings.production --timeout 300 --pythonpath=/var/webapp/campus/
参考资料:


Tbh您可能应该使用类似django-Cellery的东西将此作为服务器端任务。听起来django处理文件的时间比nginx预期的要长,因此它不会等待gunicorn返回django响应。或者它正在崩溃。Django代码是否记录了任何异常?假设是超时,我希望看到的是504,而不是502。
上游过早关闭的连接
意味着后端出现错误。好的,感谢您的回复,我将使用django芹菜提高导入过程的效率。但是在我的配置中发生了一些奇怪的事情,因为当我使用开发服务器运行django(不使用nginx)时,导入过程需要3分钟,并且没有出现任何错误。然后,我想找到一个变量,在得到这个错误502之前,在其中添加更多的处理时间。
proxy_connect_timeout 300s;
proxy_read_timeout 300s;
gunicorn_django -D -b 127.0.0.1:8901 --workers=2 --pid=/var/webapp/campus.pid --settings=settings.production --timeout 300 --pythonpath=/var/webapp/campus/