如何开启一个临时任务
老师,在spring+quartz整合框架中,设计一个任务是10天运行一次,如果一次任务成功率不达标,需要第二天的凌晨再次开启任务,这种情况应该怎么办?
老师,在spring+quartz整合框架中,设计一个任务是10天运行一次,如果一次任务成功率不达标,需要第二天的凌晨再次开启任务,这种情况应该怎么办?
2017-07-31
不好意思哈,前段时间太忙导致现在才能回答问题。针对同学的问题,这个更偏向于业务,既然是业务需求,就不必拘泥于用quartz来完成。以下提供简单的实现思路:你可以new一个quartz任务,每十天执行一次,再new一个quartz任务,每天凌晨执行一次,用来检查每十天执行的任务的那个task是否执行成功,距离上次执行时间是否超过了一天。细节是可以在某张表或者内存里设置一个状态量还有记录上次执行第一个任务(10天执行一次的任务)的执行时间,如果一次任务成功率不达标,就给状态量置为false,同时将执行的时间记录进去,那个每天凌晨触发的任务就去看这两个变量,如果状态量为false且最近执行时间为一天以内,那么就再次执行任务。。
举报