下面是postgres日志Process 10377 waits for ShareLock on transaction 149848948; blocked by process 10396.
Process 10396: insert into "completed_jobs" ("id", ....... "limitation_code"
该操作不是原子操作,其他进程只是无法通过关键部分,如果另一个进程正在使用它(如果您能够相信锁就可以继续),等等。显然,它需要修复。
如何正确地获得一个锁,以便跨多个进程同步对文件系统的访问?进程是同一进程的多个实例,因此它们可以共享某些协议,而不是具体地锁定目录(也就是说,它们可以很容易地使用相当于private final static Object lock = new Object(