Отключение кеша в asyncpgPython

Программы на Python
Anonymous
Отключение кеша в asyncpg

Сообщение Anonymous »


Я хочу отключить кеш в asyncpg+postgresql, чтобы получать своевременные результаты из базы данных, а не устаревшие. Однако я столкнулся с проблемой, которая не позволяет мне это сделать:

RuntimeWarning: сопрограмма «AsyncConnection.execution_options» никогда не ожидалась асинхронно с engine.connect().execution_options(compiled_cache=None) \ RuntimeWarning: включите трассировку, чтобы получить обратную трассировку выделения объекта. Мой код следующий:

... запрос = select(CardBase).where(CardBase.user_id==str(message.from_user.id)) current_cards = ждут получения_данных_из_db (запрос, механизм) current_cards = current_cards.fetchone() ... retrive_data_from_db:

async def return_data_from_db(запрос, механизм): """ Подключается к базе данных и возвращает результаты по заданному запросу """ асинхронно с engine.connect().execution_options(compiled_cache=None) \ как соединение: пытаться: исполненный_запрос = ожидание conn.execute(запрос) ожидайте conn.commit() кроме SQLAlchemyError как exc: печать (искл.) поднимать окончательно: ожидайте conn.close() вернуть выполненный_запрос Все ожидаемо, не понимаю в чем проблема. Итак, как правильно написать отключение кеша с помощью asyncpg+postgresql? Указание размера кэша в движке ни к чему не приводит.
engine = create_async_engine(f'postgresql+asyncpg://{имя пользователя}:{пароль}' f'@{host}/{database}?prepared_statement_cache_size=0', Pool_pre_ping = Правда, эхо=Истина, )

Вернуться в «Python»