你如何处理MVC应用程序中的数据库死锁?

时间:2015-02-05 07:42:21

标签: ruby-on-rails deadlock

我有一个带有模型,控制器和东西的Ruby on Rails应用程序,因此用户请求是作为独立的请求执行的。该应用程序由MS SQL数据库支持。并发(大约100 rpm)并发用户请求会导致数据库资源死锁,因此其中一个请求会因错误而失败。

处理此类情况并避免死锁的正确方法是什么?我正在寻找一个挖掘的大方向。感谢。

1 个答案:

答案 0 :(得分:1)

这个blog post有一些非常好的建议可以防止Rails中的死锁并处理它们。

还有一个由DHH编写的嵌入式deadlock_retry gem,当检测到死锁超时时,它会重新尝试3次事务。