使用 MySQL 后端使用 Django 模拟“锁定超时”DatabaseError 的最简单方法是什么?
我有一段代码,它在大型查询集上运行,偶尔会抛出异常:
DatabaseError: (1205, 'Lock wait timeout exceeded; try restarting transaction')
我了解导致此问题的原因以及如何修复它,但我不确定如何测试我的修复,因为该错误仅发生在多个用户同时访问某些表的生产环境中。
我首先尝试在单独的进程中运行一些示例代码以使 Django 在 MySQL 中应用锁,虽然它似乎确实锁定了目标表并使所有其他请求等待,但当我在我的 localhost 上测试时从未发生锁定超时运行服务器。我让它运行了 20 分钟而没有发生超时。