Отладка Weblate

Ошибки могут проявлять себя в том, что приложение падает или как-либо ведёт себя некорректно. Мы будем рады, если вы соберёте информацию о таких проблемах и передадите её в нашу систему отслеживания проблем.

Режим отладки

Включение режима отладки приведёт к тому, что исключения будут отображаться прямо в веб-браузере. Это полезно при отладке проблем в веб-интерфейсе, но для рабочей системы применять данный режим не следует, поскольку он отражается на производительности не лучшим образом и может привести к утечке конфиденциальных данных.

В производственной среде используйте ADMINS, чтобы получать электронные письма с отчётами об ошибках, или настройте сбор ошибок с помощью сторонней службы.

Журналы Weblate

Weblate может вести детализированные журналы того, что происходит на фоне. С настройками по умолчанию он использует syslog в результате чего файл журнала появляется в /var/log/messages или в /var/log/syslog (в зависимости от настроек вашего демона syslog).

Процесс Celery (смотреть раздел Фоновые задачи с использованием Celery) обычно также ведёт свои собственные журналы. Скажем, в примере с установкой Celery в качестве системного сервиса журналы будут записываться в несколько файлов в каталоге /var/log/celery/.

Контейнеры Docker записывают журналы в свой поток вывода (как это обычно и бывает в Docker-мире), так что вы можете просмотреть эти журналы с помощью docker-compose logs.

Не обрабатываются фоновые задачи

Многие вещи выполняются обработчиками Celery в фоновом режиме. Если такие вещи, как рассылка писем или удаление компонентов, не работают, возможно, проблема связана с ними.

В таком случае следует:

Не доходит электронная почта от Weblate

Проверить, правильно ли работает исходящая почта. Это можно сделать с помощью команды управления sendtestemail (подробности, как вызывать её в различных окружениях, смотрите в разделе Вызов команд управления) или с помощью интерфейса управления на вкладке Инструменты.

Это действие отправит почту напрямую, так что таким образом можно проверить, что SMTP настроен корректно (смотреть раздел Настройка исходящей почты). Однако большую часть почты Weblate отправляет в фоновых задачах, так что всё это может быть вызвано некоторыми проблемами с Celery. Как отладить Celery смотрите в соответствующем разделе.

Анализ падений программы

Если приложение падает, то будет полезно собрать об этом падении столько информации, сколько возможно. Этого можно достичь с помощью сторонних сервисов, которые могут собирать такую информацию автоматически. Вы можете почитать о том, как это сделать, в разделе «Сбор отчетов об ошибках».

Ошибки без оповещения

Многие задачи выгружаются в Celery для фоновой обработки. Их падения в пользовательском интерфейсе не отображаются, а появляются только в журналах Celery. Настройка сбора ошибок поможет вам легче замечать такие сбои.

Проблемы с производительностью

Если в каких-то сценариях Weblate показывает недостаточную производительность, то соберите журналы, которые демонстрируют проблему, а также всё, что поможет выяснить, как и в каком месте можно улучшить код.

Если некоторые запросы выполняются слишком долго без какой-либо индикации, то вы можете установить dogslow и использовать его вместе со сбором отчётов об ошибках, что позволит получить точечные и подробные трассировки стеков вызова (traceback) в этих отчётах.