因此,我有一个名为“就绪”的表,该表存储了可供处理的S3对象引用。在我使用此数据并对其进行突变的应用程序中,如果不使用其相关提供程序或对该提供程序的锁定已过期,我希望能够获取最新的S3对象。
我的表结构如下:
键(PK)|提供者|时间戳记(createdAt)|锁定exp
我正在使用TypeORM创建一个TRANSACTION,获取最新的(非锁定)对象引用,并使用该提供程序也更新了所有其他列以使其也被锁定,因此我们不会意外地使用两组数据来自同一提供商。
我的代码如下:
1537553543000
我担心,如果偶然的机会,有两个消费者在同一时间与同一个提供者查询了两个单独的行,那么我将处于竞争状态。我曾考虑过当一个使用者进行此查询时锁定整个表,但是我想知道是否有更好的方法。谢谢!