gpt4 book ai didi

python - 如何在 MySQL 上使用 Django 模拟 "lock timeout"错误

转载 作者:行者123 更新时间:2023-11-29 22:28:03 25 4
gpt4 key购买 nike

使用 MySQL 后端通过 Django 模拟“锁定超时”DatabaseError 的最简单方法是什么?

我有一段代码,它对大型查询集进行操作,偶尔会抛出异常:

 DatabaseError: (1205, 'Lock wait timeout exceeded; try restarting transaction')

我了解导致此问题的原因以及如何修复它,但我不确定如何测试我的修复,因为该错误仅发生在多个用户同时访问某些表的生产环境中。

我首先尝试运行 some sample code在一个单独的过程中使 Django 在 MySQL 中应用锁,虽然它似乎锁定了目标表并使所有其他请求等待,但当我使用 runserver 在本地主机上进行测试时,永远不会发生锁定超时。我让它运行了 20 分钟,没有发生超时。

最佳答案

如果您只需要特定类型的异常,为什么不在测试中模拟/猴子修补您的代码以抛出此异常而不是从数据库获取?

关于python - 如何在 MySQL 上使用 Django 模拟 "lock timeout"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30079630/

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