Спасибо! Я решил это. Проблема была в атрибуте «простоя» балансировщика нагрузки amazon. Было установлено 5 секунд. Я не понимал, что проблема может быть там, пока вы не упомянули балансировщик нагрузки.

я есть установка сДжанго-Nginx-gunicorn-супервизора PostgreSQL, В админке Django у меня есть 504, если загрузка представления занимает более 5 секунд.

Например, если я отфильтрую представление списка изменений по множеству записей и займет больше времени, появится 504. То же представление с меньшим количеством записей работает, если это занимает меньше времени.

Я также заметил, что некоторые представления все еще работают в фоновом режиме, даже после 504, потому что я вижу изменения, которые они вносят в базу данных после их завершения.

Я пытался увеличить все найденные таймауты (nginx, gunicorn), но ни один из них не был настроен на 5 секунд.Любое предположение о том, что может быть неправильно настроено? Или где может быть тайм-аут, который поднимает 504?

Спасибо

Таймауты, которые я настроил:

В / etc / nginx / sites-enabled / mysite

proxy_connect_timeout 60;
proxy_read_timeout 90;
proxy_send_timeout 90;
send_timeout 90;
fastcgi_read_timeout 300;

В /etc/nginx/nginx.conf

send_timeout 300;
keepalive_timeout 65;
proxy_connect_timeout 300;
proxy_read_timeout 300;
proxy_send_timeout 300;

В файле gunicorn_start (запускается супервизором)

exec gunicorn -c ${CONF_FILE} ${DJANGO_WSGI_MODULE}:application \
        --name ${NAME} \
        --user=${USER} --group=${GROUP} \
        --log-level=debug \
        --timeout=90

В файле gunicorn.conf (предыдущий $ {CONF_FILE})

timeout = 90
graceful_timeout = 30
keepalive = 3

Ответы на вопрос(1)

Ваш ответ на вопрос