gpt4 book ai didi

django - 这会导致 django + postgres 陷入僵局吗?

转载 作者:行者123 更新时间:2023-11-29 11:51:30 24 4
gpt4 key购买 nike

我有两个同时运行的进程,它们运行不同的事务,最终到达相同的代码路径:

@transaction.atomic 
def myFunc():
object = x.objects.get(filter=sample_filter) // Assume this gets a single row back
object.sample_property = "Hello World"
object.save()

其中一个进程不断报告死锁,等待 object.save() 处的 ShareLock。我假设另一个没有报告,因为它是一个没有被杀死的人。如果这些进程最终选择了 X 中的同一行,是否会导致死锁?我看不出是怎么回事,因为 .get() 没有锁定“对象”,是吗?

最佳答案

我假设您使用的是 PostgreSQL,那么它默认处于 READ-COMITTED 隔离级别。所以是的,在你的原子交易中,例如如果你在 get() 之后调用 pdb 那么没有 pdb 的其他代码应该在到达 save( )。对于您的情况,应该不会发生死锁。

关于django - 这会导致 django + postgres 陷入僵局吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42918137/

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