admin 管理员组

文章数量: 1184232

机器宕机,必然会导致线程池里的积压的任务丢失

如何解决?

在提交一个任务到线程池里去,提交之前,将这个任务信息持久化到数据库里,此时的状态为 未提交,提交成功之后,更新任务信息的状态为 提交成功,当任务完成的时候,更新任务信息的状态为 已完成

当宕机的机器重启的时候,可以开启一个后台线程,扫描数据库里 未提交和已提交的任务,可以把任务读取出来,重新提交到线程池中,继续进行执行,被调用的方法一定做好幂等操作,防止请求重复执行。

本文标签: 线上 队列 线程 机器