gpt4 book ai didi

python - 使用 twisted.enterprise.adbapi 处理 'database is locked' 错误的正确和最佳方法

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:25 25 4
gpt4 key购买 nike

我正在使用带有 sqlite3 数据库适配器和“runInteraction()”的 twisted.enterprise.adbapi。

我不断收到“sqlite3.OperationalError:数据库已锁定”错误。我理解这个问题,多个线程尝试访问数据库并且它已经被一个线程锁定它引发了这个异常。我的问题是处理此问题的标准/正确 Twisted 方法是什么?

我已经在这里找到了答案: http://twistedmatrix.com/pipermail/twisted-python/2009-June/019848.html

但是,将连接池限制为一个连接不会降低整个应用程序在长查询时的速度吗?它仍然没有解决从两个应用程序访问数据库的问题。

你能想到更好的方法吗?

国王问候,弗洛里安。

最佳答案

But doesn't limiting the connection pool to one connection slow down the whole application on long queries?

SQLite 不允许并发连接;不是来自同一个进程,也不是来自不同的进程;它在数据库中维护一个锁定标志,以专门防止其他进程在一个进程仍在使用该数据库文件时使用它。如果您的查询速度很慢,它会阻塞其他连接,无论它们是否正在处理中都没有关系。

如果那是个问题,解决方法很简单,不要使用 sqlite。

关于python - 使用 twisted.enterprise.adbapi 处理 'database is locked' 错误的正确和最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23442847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com