0
我有这些“任务”是由用户提交的,这些任务打到我的NodeJS服务器并作为文档存储在MongoDB数据库中。这些任务也会被用户抓取并一次处理一个。NodeJS和MongoDB堆栈的并发控制
- 任务有一定的状态:等待,工作,已完成
- 最初任务提交时,他们是在“待定”状态。
- 当用户想要处理任务时,他们以FIFO方式查询一个“待处理”任务。
- 一旦给一个任务给用户,这项任务被更新为具有状态“工作”
我的问题是当两个用户同时请求一个任务上工作,他们可能会得到同样的任务,因为竞赛状况。当第一个查询尝试将任务状态更新为“正在工作”时,第二个查询也可以获取该状态。有人可以建议我如何使用NodeJS和MongoDB来解决这个问题吗?任何框架或库也受到欢迎。