Отключение кеша в asyncpg ⇐ Python
-
Гость
Отключение кеша в asyncpg
Я хочу отключить кеш в asyncpg+postgresql, чтобы получать своевременные результаты из базы данных, а не устаревшие. Однако я столкнулся с проблемой, которая не позволяет мне это сделать:
RuntimeWarning: сопрограмма «AsyncConnection.execution_options» никогда не ожидалась асинхронно с engine.connect().execution_options(compiled_cache=data_cache) \ RuntimeWarning: включите трассировку, чтобы получить обратную трассировку выделения объекта. Мой код следующий:
... запрос = select(CardBase).where(CardBase.user_id==str(message.from_user.id)) current_cards = ждут получения_данных_из_db (запрос, механизм) current_cards = current_cards.fetchone() ... retrive_data_from_db:
data_cache = {} асинхронная защита return_data_from_db (запрос, механизм): """ Подключается к базе данных и возвращает результаты по заданному запросу """ асинхронно с engine.connect().execution_options(compiled_cache=data_cache) \ как соединение: пытаться: исполненный_запрос = ожидание conn.execute(запрос) ожидайте conn.commit() кроме SQLAlchemyError как exc: печать (искл.) поднимать окончательно: ожидайте conn.close() вернуть выполненный_запрос Все ожидаемо, не понимаю в чем проблема. Итак, как правильно написать отключение кеша с помощью asyncpg+postgresql?
Я хочу отключить кеш в asyncpg+postgresql, чтобы получать своевременные результаты из базы данных, а не устаревшие. Однако я столкнулся с проблемой, которая не позволяет мне это сделать:
RuntimeWarning: сопрограмма «AsyncConnection.execution_options» никогда не ожидалась асинхронно с engine.connect().execution_options(compiled_cache=data_cache) \ RuntimeWarning: включите трассировку, чтобы получить обратную трассировку выделения объекта. Мой код следующий:
... запрос = select(CardBase).where(CardBase.user_id==str(message.from_user.id)) current_cards = ждут получения_данных_из_db (запрос, механизм) current_cards = current_cards.fetchone() ... retrive_data_from_db:
data_cache = {} асинхронная защита return_data_from_db (запрос, механизм): """ Подключается к базе данных и возвращает результаты по заданному запросу """ асинхронно с engine.connect().execution_options(compiled_cache=data_cache) \ как соединение: пытаться: исполненный_запрос = ожидание conn.execute(запрос) ожидайте conn.commit() кроме SQLAlchemyError как exc: печать (искл.) поднимать окончательно: ожидайте conn.close() вернуть выполненный_запрос Все ожидаемо, не понимаю в чем проблема. Итак, как правильно написать отключение кеша с помощью asyncpg+postgresql?
Мобильная версия