Django Login внезапно перестал работать - тайминг аут

Мой проект Django прекрасно работал в течение последних 90 дней. За это время не было развертывания нового кода.

Запуск супервизора -> gunicorn для обслуживания приложения и фронтального nginx.

К сожалению, он просто перестал обслуживать страницу входа в систему (стандартный логин фреймворка).

Я написал небольшое представление, которое проверяет, работает ли соединение с БД, и оно появляется в течение нескольких секунд.

def updown(request):
    from django.shortcuts import HttpResponse
    from django.db import connections
    from django.db.utils import OperationalError


    status = True

    # Check database connection
    if status is True:
        db_conn = connections['default']
        try:
            c = db_conn.cursor()
        except OperationalError:
            status = False
            error = 'No connection to database'
    else:
        status = True

    if status is True:
        message = 'OK'
    elif status is False:
        message = 'NOK' + ' \n' + error

    return HttpResponse(message)

Это возвращает OK.

Но как только я пытаюсь зайти в /admin или куда-либо еще, где требуется логин, он отключается.

wget http://127.0.0.1:8000
--2022-07-20 22:54:58--  http://127.0.0.1:8000/
Connecting to 127.0.0.1:8000... connected.
HTTP request sent, awaiting response... 302 Found
Location: /business/dashboard/ [following]
--2022-07-20 22:54:58--  http://127.0.0.1:8000/business/dashboard/
Connecting to 127.0.0.1:8000... connected.
HTTP request sent, awaiting response... 302 Found
Location: /account/login/?next=/business/dashboard/ [following]
--2022-07-20 22:54:58--  http://127.0.0.1:8000/account/login/?    next=/business/dashboard/
Connecting to 127.0.0.1:8000... connected.
HTTP request sent, awaiting response... No data received.
Retrying.

--2022-07-20 22:55:30--  (try: 2)  http://127.0.0.1:8000/account/login/?next=/business/dashboard/
Connecting to 127.0.0.1:8000... connected.
HTTP request sent, awaiting response... 

Супервизор / журнал Gunicorn совсем не помогает:

[2022-07-20 23:06:34 +0200] [980] [INFO] Starting gunicorn 20.1.0
[2022-07-20 23:06:34 +0200] [980] [INFO] Listening at: http://127.0.0.1:8000 (980)
[2022-07-20 23:06:34 +0200] [980] [INFO] Using worker: sync
[2022-07-20 23:06:34 +0200] [986] [INFO] Booting worker with pid: 986
[2022-07-20 23:08:01 +0200] [980] [CRITICAL] WORKER TIMEOUT (pid:986)
[2022-07-20 23:08:02 +0200] [980] [WARNING] Worker with pid 986 was terminated due to signal 9
[2022-07-20 23:08:02 +0200] [1249] [INFO] Booting worker with pid: 1249
[2022-07-20 23:12:26 +0200] [980] [CRITICAL] WORKER TIMEOUT (pid:1249)
[2022-07-20 23:12:27 +0200] [980] [WARNING] Worker with pid 1249 was terminated due to signal 9
[2022-07-20 23:12:27 +0200] [1515] [INFO] Booting worker with pid: 1515

Nginx просто выдает:

 502 Bad Gateway

Я ничего не вижу в логах, я не вижу никакой ошибки при запуске dev-сервера из Django, также Sentry ничего не показывает. Полностью потерян.

Я использую Django 4.0.x и все библиотеки обновлены.

Скрипт проверки базы данных проверяет только подключение. Из-за неправильной конфигурации репликации базы данных, БД подключалась и читалась, но при записи зависала.

Страница входа пытается записать сессию в таблицы, что в данном случае не удалось.

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