@Nikita235

Как решить ошибку: asyncpg.exceptions._base.InterfaceError: cannot perform operation: another operation is in progress?

У меня есть бот. В нем я реализую сбор некоторых пользовательских данных.
В этом блоке прописываю запрос на добавление кошелька.
async def add_wallet(wallet: str):
    sql = 'INSERT INTO users (wallet) VALUES ($1)'
    await db.pool.execute(sql, wallet)


Это блок из основного файла. Именно здесь прописана основная логика бота.
@router.message(StateFilter(TonToken.wallet),
                       lambda x: x.text.isalnum and len(x.text) == 48)
async def save_wallet(message: Message, state=FSMContext):
    data = await state.update_data(wallet=message.text)
    await add_wallet(data.get('wallet'))
    await state.clear()
    await message.answer(text='Поздравляют, твой TON-кошелёк сохранен')

Как только я ввожу адрес кошелька, в терминал выскакивает ошибка, которую я указал в вопросе
  • Вопрос задан
  • 917 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
Видимо, проблема в том, что вы пытаетесь использовать одно соединение несколькими сопрограммами. Используйте пул.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы