机器宕机,必然会导致线程池里的积压的任务丢失
如何解决?
在提交一个任务到线程池里去,提交之前,将这个任务信息持久化到数据库里,此时的状态为 未提交,提交成功之后,更新任务信息的状态为 提交成功,当任务完成的时候,更新任务信息的状态为 已完成
当宕机的机器重启的时候,可以开启一个后台线程,扫描数据库里 未提交和已提交的任务,可以把任务读取出来,重新提交到线程池中,继续进行执行,被调用的方法一定做好幂等操作,防止请求重复执行。
机器宕机,必然会导致线程池里的积压的任务丢失
如何解决?
在提交一个任务到线程池里去,提交之前,将这个任务信息持久化到数据库里,此时的状态为 未提交,提交成功之后,更新任务信息的状态为 提交成功,当任务完成的时候,更新任务信息的状态为 已完成
当宕机的机器重启的时候,可以开启一个后台线程,扫描数据库里 未提交和已提交的任务,可以把任务读取出来,重新提交到线程池中,继续进行执行,被调用的方法一定做好幂等操作,防止请求重复执行。