我正在用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
例如,返回的第一个5
profiles
(当我重复此查询5
次时)是:xmax123, darcy67, shop_hallmary10, christmas_shop987, lilybend_09
在分析了
user
profile
之后,xmax123
将不再出现以供其他xmax123
分析。我的问题是,当多个
users
同时调用这个sql查询时,所有users
都会返回相同的社交媒体profile
(xmax123
)。换言之,当两个users
(users
和user 1
)同时调用此SQL查询时,将为它们返回相同的社交媒体user 2
(profile
)这意味着xmax123
将被xmas123
different2
分析两次,这是一个问题。我想确保
users
得到user 1
并且xmax123
得到user 2
,即使这两个darcy67
同时调用这个sql查询。有什么策略可以解决这个问题? 最佳答案
或者您可以查询用户,然后当您完成时将其标记为“已完成”,因此,如果某个用户在该用户中工作,则该用户仍然可以供其他用户使用,因此,您可能需要一个“正在工作”布尔字段,以便在有人在该用户中工作时锁定它。