Django Gunicorn другой тип таймаута - PullRequest
0 голосов
/ 03 августа 2020

Я использую приложение Django с Gunicorn (используя Heroku) и Sentry для мониторинга. Я регулярно получаю 2 разных типа ошибок тайм-аута в Sentry:

  1. SystemExit 1 в gunicorn/workers/base.py в handle_abort в строке 201
  2. WORKER TIMEOUT (pid:12345) на уровне Gunicorn

Для второго он выдает ошибки H13 в Heroku, что в соответствии с документами означает :

Эта ошибка возникает, когда процесс в вашей сети dyno принимает соединение, но затем закрывает сокет, ничего не записывая в него. Один из примеров, когда это может произойти, - это когда веб-сервер Unicorn настроен с тайм-аутом короче 30 секунд, и запрос не был обработан работником до истечения тайм-аута. В этом случае Unicorn закрывает соединение до того, как будут записаны какие-либо данные, в результате чего получится H13.

, что достаточно ясно.

Однако для System Exit 1 я прочитал, что это был тайм-аут в аналогичном билете , но я не совсем уверен, в чем разница.

1 Ответ

1 голос
/ 06 августа 2020

SystemExit - это просто общий c сигнал «остановить процесс», возможно, одна и та же ошибка перехватывается Sentry дважды (один раз выбрасывается как исключение, один раз регистрируется с помощью level = error).

...