我在Nginx后面的Gunicorn运行了一个Django应用程序。一切正常,可以解决一件奇怪的事情:我有一个“下载”视图和一个RESTful json API。调用下载视图时,我使用urllib2访问json API以获取信息。并且当我尝试对json api执行此http请求时,请求超时,出现错误HTTP错误504:网关超时。
当我使用./manage.py运行服务器运行代码时,一切正常。对json api的http get请求也只需几毫秒,因此没有遇到超时的危险。
这里的伪代码情况:
MyProject的/ views.py: (可访问: http://myproject.com/download)
1 def download(request, *args, **kwargs):
2 import urllib2
3 opener = urllib2.build_opener()
4 opener.open('http://myproject.com/api/get_project_stats')
该 opener.open()
第四行调用在Gunicorn中运行时运行时超时 ./manage.py runserver
everytihng工作正常(api调用只需要几毫秒。
有没有人有同样的问题?更重要的是:你是如何解决的?