我有一个InnoDB表,它列出了一堆需要处理的文件。你知道吗
处理处理的python脚本基本上是这样做的:
这个python脚本将被多次调用,因此我有点担心在第1步和第2步可能会出现一些问题,在第2步中,在进程A有时间更新状态之前,进程B将从db获得与进程A相同的行。你知道吗
我猜Python GIL在这里帮不了我,因为解释器在执行SQL时会释放GIL(对吧?)。从我读到的内容来看,在InnoDB上执行表锁是行不通的。行级锁定能解决这个问题吗?如果没有,我还有什么选择?你知道吗
我可以简单地做“从线程导入锁”并添加
with lock:
update_file_status(file_id, "processing")
什么?你知道吗
使用
SELECT FOR UPDATE
语句-这将获得行上的独占锁,并且不允许在同一行上使用其他SELECT FOR UPDATE
。你知道吗相关问题 更多 >
编程相关推荐