后台任务有三个状态,开始->正在执行->完成
假设任务执行完毕后,将要更新状态为“完成”时,此时数据库挂了怎么办?
只能等数据库恢复后人工修改状态吗?
看你们是怎么做的,
如果整个任务的业务处理和任务状态修改(最少正在执行以及结束)放到一个事务里面,你这时候数据库挂了,实际上任务等同于没有执行,数据库恢复以后,继续跑任务即可;
如果不是在一个事务里面,那就要考虑重复执行任务的数据操作了;除非是多次重试都失败,不然一般不需要人为参与
数据库挂了 那这个时候 你任务执行失败 你可以try catch 然后存储在你的缓存中(定时向库中修改状态,一直到操作成功) 等数据库可以了 再存储