В моем проекте я слушаю поток kafka и помещаю сообщение в базу данных. В настоящее время я создаю сеанс с определенной областью для подключения к моей базе данных. Есть ли правильный способ закрыть соединение после загрузки записи, чтобы избежать взаимоблокировки?
У меня есть блок try-catch-finally, который делает эти вещи, но мне интересно, какой из них на самом делеобязательно:
session.flush()
session.expire_all()
session.expunge_all()
session.remove()
session.close_all()
Если это помогает, при создании соединения я также использую пулы соединений со следующими настройками:
ENGINE = sqlalchemy.create_engine(f'db2+ibm_db://{CONNECTION_STRING}', echo=False,
pool_timeout=60, pool_recycle=30, pool_size=30, max_overflow=5,