一个批量任务启动多个线程执行 , 中间意外停止 。 再次启动任务执行时 :
如何保证批量任务中的子任务不会重复执行 ?
具体的业务场景是 :
每天通过文件的形式批量的与第三方公司传递数据 ,暂称之为请求文件
, 之后从第三方公司获取处理结果的文件 , 称之为结果文件
。
请求文件
与结果文件
中每一行相互对应。
但是之前业务处理过程中没有将结果文件
中的数据整体解析到数据库中 ,仅仅是拿到每一行中的结果码
字段来记录处理结果。
现在所要做的事情是 : 将历史结果文件
解析到数据库中。
每一行倒是有主键 , 通过主键可以保证数据的唯一性 , 目前解析任务中间断掉 , 再次启动解析任务 , 文件还是会被解析一遍 , 重复的数据去重 。 但是 , 我想要的效果是 , 文件不会被重复解析 , 不然很浪费时间的。。。。。
有点宽泛吧。
看你执行的的任务吧,在比如处理消息、数据库写入、任务啥的,做一个记录兜底,记录已经完成已经执行的记录和信息,当再次启动时候,在任务里面做判断吧。