java—如何在jdbc或mysql中执行所有并发挂起的查询之后运行更新查询?

wtlkbnrh  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(201)

我正在设计一个系统,当一个请求到达web服务器时,请求数据被插入数据库并生成自动递增id。
现在每个请求需要完成x个任务,其中每个任务大约需要0-20秒。
使用自动生成的id作为引用,web服务器将消息发布到messagebroker(rabbitmq),以供并发运行的worker完成每个任务。当任何任务完成时,它的状态在db中通过插入一行来更新。
我想在所有任务完成后更新表(比如设置总请求的状态)。我应该如何处理我的场景?是否有一种方法可以在所有挂起的任务完成时运行查询?
我试着在每个任务完成后检查是否所有其他任务都完成了。如果所有其他的都完成了,那么我更新了表,否则什么也没做。但如果还有两个任务要完成,并且两个任务同时完成并检查,则此操作将失败。两者都将看到1个任务仍处于挂起状态,没有人会更新表。
我在web服务器上使用jdbc和mysql数据库。
请帮忙。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题