【问题标题】:SQLAlchemy, sqlite and fork()SQLAlchemy、sqlite 和 fork()
【发布时间】:2011-11-25 13:54:06
【问题描述】:

SQLAlchemy + sqlite 项目中使用 fork() 的最佳方式是什么?

SQLAlchemy 文档 mentions 应该在孩子中调用 create_engine() 但没有提到任何其他警告,我相信其中有很多(写锁,busy_timeout,dispose /连接问题等)。

是否使用事务或范围会话的设计问题重要吗?

【问题讨论】:

    标签: python sqlite sqlalchemy fork


    【解决方案1】:

    sqlite 将为您处理所有的数据库锁定;这不是您可以或不应该在数据库连接的客户端考虑的事情。

    【讨论】:

      【解决方案2】:

      SQLite 不支持写入并发,因此只有一个客户端可以在任何时间点写入单个数据库。有了这个约束,您从使用事务中获得的唯一好处就是能够回滚它们。如果您打算使用多个数据库,请确保不要将自己拖入死锁,即两个进程在一个数据库中持有一个事务写锁,并尝试同时在另一个数据库中获取一个。

      【讨论】:

        猜你喜欢
        • 2010-11-25
        • 2014-05-24
        • 2015-03-10
        • 2012-12-03
        • 1970-01-01
        • 2016-04-23
        • 2010-10-09
        • 1970-01-01
        • 2010-12-11
        相关资源
        最近更新 更多