mysql.connector import pooling
@contextlib.contextmanager
def connection_wrapper(connection_pool):
connection = connection_pool.get_connection()
try:
yield connection
finally
connection.close()
class MyThingWorkDB:
def __init__(self, *args, **kwargs):
self.my_pool = pooling.MySQLConnectionPool(**creds)
def db_request(self):
with connection_wrapper(self.my_pool) as connection:
<doing smth with database>
И когда я пытаюсь с помощью этого добра дернуть запрос (простой селект из базы), мне говорят:
mysql.connector.errors.PoolError: Failed adding connection; queue is full
что-то мне подсказывает что код недостаточно приблизительный
в плане покажи актуальный код
Вот декоратор: @contextlib.contextmanager def connection_wrapper(connection_pool): connection = connection_pool.get_connection() try: yield connection finally: connection.close() Вот я пытаюсь дернуть соединение: with connection_wrapper(self.__sql_connection_pool) as connection_obj: Вот кусок трейсбека, если верить другому куску трейсбека повыше, то падает оно на connection.close() \connector\pooling.py", line 274, in add_connection raise errors.PoolError( mysql.connector.errors.PoolError: Failed adding connection; queue is full
Обсуждают сегодня