Django async - OperationalError: соединение закрыто - не восстанавливается после перезапуска db

У меня есть что-то вроде следующей корутины, выполняемой асинхронной задачей:

from django.db import OperationalError
from my_app.models import User


async def update_user_name(user: User):
    while True:
        try:
            user.name = coolname.generate_slug()
            await user.asave(update_fields=["name"])

        except OperationalError:
            logging.exception(
                "DB operational error occurred, Wait 2 seconds and try again."
            )

        await asyncio.sleep(10)

когда база данных недоступна, я получаю OperationalError, что вполне логично. Но после исправления базы данных я продолжаю получать эти OperationalErrors, и соединение действительно не восстанавливается

Интересно, почему? Я ожидал, что будет открыто новое соединение и можно будет сохранять данные в db, поскольку проблема была исправлена.

Я использую Django 5.0.4

Я заметил, что мои настройки CONN_MAX_AGE db были 5 минут. Я изменил его на 0 (закрытие соединения после каждого запроса), но это не помогло.

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