Saya telah mengumpulkan server integrasi untuk aplikasi bertenaga Django kami. Beberapa fitur masih eksperimental, dan menghasilkan permintaan yang terlalu panjang.
Saya baik-baik saja dengan kinerja yang buruk, untuk saat ini, tetapi saya harus dapat berintegrasi. Setiap kali kita menggunakan fitur yang mengarah ke permintaan panjang, aplikasi hang (seperti yang diharapkan) dan kemudian, setelah mungkin satu setengah menit, mengembalikan '502 - Bad Gateway'. Sisa aplikasi berfungsi dengan baik.
Saya memeriksa log gunicorn, dan setiap kali ini terjadi saya mendapatkan garis seperti
2012-01-20 17:30:13 [23128] [DEBUG] GET /results/
2012-01-20 17:30:43 [23125] [ERROR] WORKER TIMEOUT (pid:23128)
Traceback (most recent call last):
File "/home/demo/python_envs/frontend/lib/python2.6/site-packages/gunicorn/app/base.py", line 111, in run
os.setpgrp()
OSError: [Errno 1] Operation not permitted
namun, ini terjadi jauh sebelum batas waktu pekerja yang sebenarnya, yang telah saya setel 10 menit hanya untuk memastikan. Inilah bagian dari skrip pemula yang menjalankan gunicorn.
description "..."
start on runlevel [2345]
stop on runlevel [!2345]
#Send KILL after 5 seconds
kill timeout 5
respawn
env VENV="/path/to/a/virtual/env/"
#how to know the pid
pid file $VENV/run/guniconr-8080.pid
script
exec sudo -u demo $VENV/bin/gunicorn_django --preload --daemon -w 4 -t 600 --log-level debug --log-file $VENV/run/gunicorn-8080.log -p $VENV/run/gunicorn-8080.pid -b localhost:8080 /path/to/settings.py
end script
Saya menjalankan versi gunicorn 0.13.4. Bantuan apa pun akan sangat dihargai.
-t
opsi yang sudah saya miliki dalam pertanyaan?Ini mungkin masalah dengan konfigurasi nginx Anda. Apakah Anda mengonfigurasi nilai proxy_read_timeout?
Sumber: http://wiki.nginx.org/HttpProxyModule#proxy_read_timeout
sumber