Tôi có một ứng dụng Django đang chạy ở Gunicorn phía sau Nginx. Tất cả mọi thứ hoạt động tốt, thoát khỏi một điều kỳ lạ: Tôi có một cái nhìn "tải về" và một API json RESTful. Khi gọi chế độ xem tải xuống, tôi sử dụng urllib2 để truy cập API json để nhận thông tin. Và một cách nghiêm túc khi tôi cố gắng thực hiện điều này http nhận được yêu cầu đến api json, yêu cầu lần ra với lỗi HTTP Error 504: Gateway Time-out.Thời gian chờ của nhân viên Gunicorn
Khi tôi chạy mã bằng ./manage.py runerver, mọi thứ hoạt động tốt. Http nhận được yêu cầu đến api json cũng chỉ mất một vài phần nghìn giây, vì vậy không có nguy cơ chạy vào một thời gian chờ.
Ở đây Tình hình trong Pseudo code:
myproject/views.py: (truy cập như: 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')
Các opener.open()
cuộc gọi trong dòng bốn chạy vào một thời gian chờ khi chạy trong Gunicorn , khi chạy với ./manage.py runserver
everytihng hoạt động tốt (và cuộc gọi api chỉ mất vài miliseconds.
Có ai có cùng vấn đề không? quan trọng: Bạn đã giải quyết nó như thế nào?
Các bạn đã thử chơi với [Cài đặt thời gian chờ Gunicorn] (http: // docs.gunicorn.org/en/latest/configure.html#timeout) –