定时任务数据唯一执行方案

定时任务数据唯一执行方案

目的:正在处理中的数据,是否会被重复处理

1、使用数据的唯一索引做唯一标识

        可以使用数据库唯一索引避免定时任务,多次执行,当定时任务执行时,往数据库插入一条数据(加了唯一索引的),执行完成后删除这条数据。当第二次定时执行时,再插入同一条数据,如果第一次还没有执行完成,就会报错数据唯一。

        处理时,代码都需要 catch 起来,避免异常导致,数据不能正常删除,后续定时任务无法执行了

        或者可以效验数据,存在10分钟以上,就直接删除。避免后续数据一直无法删除

2、使用时间闭环数据 (推荐使用 数据库的唯一索引,做唯一标识 方案来处理)

        用开始时间,结束时间 来查询创建时间,用时间将数据闭环了

你可能感兴趣的:(java)