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 (закрытие соединения после каждого запроса), но это не помогло.