标签: postgresql python-3.x concurrency
我有一个Python脚本,它将从远程Postgresql数据库中的表中检索一批行,进行一些处理,然后将结果存储回数据库。我将在几台不同的机器上同时运行此脚本,因此我需要确保脚本的两个不同实例不从表中检索同一行。
我可以使用SELECT ... FOR UPDATE,但我仍然需要在该表的列或不同的表中存储这些行正在“处理”。如果脚本的一个实例检索一批行并开始处理它们,则该脚本的另一个实例可以检索一些相同的行,除非我跟踪哪些行正在进行中。
我需要做的是检索一批行并在一个原子步骤中更新表。