зверь? Ловится на вызове функции из внешней библиотеки databases:
await db.fetch_one(statement)
statement - обычный select из sqlalchemy core. С указанием всего 1 параметра id
Привет! Ловлю такую же ошибку. Ты тогда разобрался в причине? Я никак понять не могу и отловить
я не помню уже. Поздновато ты задал вопрос))) Думаю, что надо в коротюне отлавливать GeneratorExit, а не игнорировать его, судя по ошибке)
Traceback (most recent call last): File "Methods.py", line 1689, in battle broke, band = await self.broke_item(i['id'], peer_id, db=db) File "Methods.py", line 1175, in broke_item await db.execute("UPDATE inventory SET a = a - 1 WHERE id = %s AND peerid = %s", (id, peerid), commit=True) RuntimeError: coroutine ignored GeneratorExit
Экземпляр класса для работы с БД. Тот метод, который все обосрали как раз в нём)
fetchall - это не корутина, а генератор судя по доке
В той ошибке, что я скинул, ошибка при commit
Покажи функцию целиком
async def execute(self, query: str, args: tuple = None, fetchone: bool = False, fetchall: bool = False, commit: bool = False, ): result = None async with self.connection.acquire() as con: con: aiomysql.Connection async with con.cursor(aiomysql.cursors.DictCursor) as cursor: cursor: aiomysql.Cursor result = await cursor.execute(query, args) if fetchone: result = await cursor.fetchone() elif fetchall: result = await cursor.fetchall() elif commit: result = await con.commit() return result
Спасибо! Сходу непонятно, откуда проблема и как ты её решил, но я подумаю ещё
ты попробуй мою функцию, не факт что она подойдёт, но попробовать можно)
Обсуждают сегодня