首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLAlchemy连接丢弃

问SQLAlchemy连接丢弃
EN

Stack Overflow用户
提问于 2019-05-15 14:47:51
回答 1查看 1.2K关注 0票数 2

我想知道以前是否有人有过这个问题。

我在Docker容器中运行了一个运行Python3.7.3、SqlAlchemy和Falcon的应用程序。

我的数据库也在码头容器中运行MariaDB。

我将SqlAlchemy pool_recycle设置为3600,但它仍然不时地中断连接。

我无法在日志中看到任何内容,但是在尝试执行某些查询后,SQLAlchemy日志状态连接已经丢失。

问题在哪里?SQLAlchemy配置?MariaDB?也许是码头工人?我该怎么检查呢?

我的存储库:

代码语言:javascript
复制
class NfeRepositorio:

    def __init__(self, db_session: sessionmaker):
        self.session_factory = scoped_session(db_session)
        self._session = None

    def __enter__(self):
        return self

    def __exit__(self, ex_type, ex_value, ex_traceback):
        self.session_factory.remove()

    @property
    def session(self):
        if not self._session:x
            self._session = self.session_factory()
        return self._session

我的引擎设置:

代码语言:javascript
复制
orm_engine = create_engine(
    get_config().ORM_ENGINE_TEMPLATE.format(
        get_config().DB_PROTOCOL,
        get_config().DB_USERNAME,
        get_config().DB_PASSWORD,
        get_config().DB_HOST,
        get_config().DB_NAME
    ),
    echo=get_config().ORM_ECHO,
    pool_recycle=3600
)

编辑1:刚刚找到一个日志条目,并在谷歌上做了一些研究。有同样问题的几个人。[Warning] Aborted connection to db (Got timeout reading communication packets)

看起来这个问题与SqlAlchemy会话和MySql会话之间的区别有关。下面的帖子解释得更好了。如何关闭SQLAlchemy会话?

我会试着把结果贴出来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-22 15:13:46

答案可以找到这里。MySql会话和SQLAlchemy会话有区别。关闭SqlAlchemy会话不需要关闭MySql连接。可以在提供的链接或在正式文件中上找到更多详细信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56152160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档