Django - Wagtail - Heroku: Как устранить периодические, кажущиеся случайными, HTTP 404?

Я обслуживаю страницы Wagtail в очень хорошо протестированном веб-приложении. Никаких ошибок не появляется в процессе разработки.

Когда я работаю в продакшене (использую Heroku и хобби-уровень Postgres db), эти страницы периодически возвращают HTTP 404. Если я обновляю браузер пару раз, он снова начинает отлично обслуживать страницу.

Некоторые подробности:

  • Это происходит с несколькими страницами;
  • Я получаю электронные письма с ошибкой 404, когда это происходит, так что BrokenLinkEmailsMiddleware от Django срабатывает;
  • Heroku web Dyno выглядит здоровым, судя по его метрикам;
  • У Heroku Postgres нет логов для уровня Hobby, поэтому я не знаю, что происходит на стороне db;
  • Сервер работает за прокси-сервером Cloudflare, но я вижу, что запрос попадает в origin и возвращает 404.

Я явно не ожидаю здесь решения, поскольку вышеприведенной информации для этого недостаточно. Но я ищу указатели для устранения неполадок, например:

  1. Если база данных стала недостаточной (слишком мало оперативной памяти, слишком много одновременных соединений и т.д.) - может ли это привести к тому, что запрос к базе данных Wagtail ошибочно вернет PageNotFound? Или это приведет к ошибке 500 Server Error?
  2. .
  3. Как я могу протестировать локальную обработку ошибок БД с помощью Django?
  4. Как я могу добавить полный Traceback для 404 ошибки Django, чтобы я мог точно знать, какая строка кода вызвала ее?
  5. .
  6. Каковы другие потенциальные причины периодических ошибок HTTP 404?

Любая помощь здесь приветствуется!

Вернуться на верх