任务在被触发了之后,如果原因某些情况而导致运行失败。这时,应该要有重试机制,通常的方式是重试3次,同时每次重试间隔60秒。3次中有一次成功就表示这个任务执行“成功”,当重试3次之后依然失败,则标识这个任务的本次调度为“失败”。
一个任务如果能支持重试,那么这个任务一定是“幂等性”的。何为“幂等性”,即一个任务执行一次和执行N次的效果是一样的。比如:1+1 = 2,不论执行多少次,结果都是2。但是有些任务是不满足这个特性的,如:将某个表的数据一条一条的插到另一表,并且是插入一条提交一次。这种情况下,我慎重重试这个功能。