为了账号安全,请及时绑定邮箱和手机立即绑定

一个任务启动多个线程执行 , 中间意外停止 。 再次启动任务执行时 , 怎么保证幂等性 ?跪求!

一个任务启动多个线程执行 , 中间意外停止 。 再次启动任务执行时 , 怎么保证幂等性 ?跪求!

慕勒3428872 2019-06-19 09:37:34
一个批量任务启动多个线程执行,中间意外停止。再次启动任务执行时:如何保证批量任务中的子任务不会重复执行?具体的业务场景是:每天通过文件的形式批量的与第三方公司传递数据,暂称之为请求文件,之后从第三方公司获取处理结果的文件,称之为结果文件。请求文件与结果文件中每一行相互对应。但是之前业务处理过程中没有将结果文件中的数据整体解析到数据库中,仅仅是拿到每一行中的结果码字段来记录处理结果。现在所要做的事情是:将历史结果文件解析到数据库中。每一行倒是有主键,通过主键可以保证数据的唯一性,目前解析任务中间断掉,再次启动解析任务,文件还是会被解析一遍,重复的数据去重。但是,我想要的效果是,文件不会被重复解析,不然很浪费时间的。。。。。
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超6个赞

有点宽泛吧。看你执行的的任务吧,在比如处理消息、数据库写入、任务啥的,做一个记录兜底,记录已经完成已经执行的记录和信息,当再次启动时候,在任务里面做判断吧。
                            
查看完整回答
反对 回复 2019-06-19
?
心有法竹

TA贡献1866条经验 获得超5个赞

幂等不幂等还是要看业务吧。估计你这么问肯定是多次执行会不幂等。如果你的程序禁止了重复执行不是就可以了么,这个不是语言本身支持的功能。
                            
查看完整回答
反对 回复 2019-06-19
  • 2 回答
  • 0 关注
  • 218 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信