我正在用Django建立一个社会分析网站。
这是我的一个use cases

"Users" of the site analyze social media "profiles" (from Snapchat, Instagram, Twitter, etc...).
Each social media "profile" is only analyzed once (and not more).

我有一个SQL查询,它检索队列中的profiles例如,返回的第一个5profiles(当我重复此查询5次时)是:
xmax123, darcy67, shop_hallmary10, christmas_shop987, lilybend_09

在分析了userprofile之后,xmax123将不再出现以供其他xmax123分析。
我的问题是,当多个users同时调用这个sql查询时,所有users都会返回相同的社交媒体profilexmax123)。换言之,当两个usersusersuser 1)同时调用此SQL查询时,将为它们返回相同的社交媒体user 2profile)这意味着xmax123将被xmas123different2分析两次,这是一个问题。
我想确保users得到user 1并且xmax123得到user 2,即使这两个darcy67同时调用这个sql查询。有什么策略可以解决这个问题?

最佳答案

或者您可以查询用户,然后当您完成时将其标记为“已完成”,因此,如果某个用户在该用户中工作,则该用户仍然可以供其他用户使用,因此,您可能需要一个“正在工作”布尔字段,以便在有人在该用户中工作时锁定它。

10-06 12:29