System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种定时任务运行状态控制方法及系统技术方案_技高网

一种定时任务运行状态控制方法及系统技术方案

技术编号:40351577 阅读:9 留言:0更新日期:2024-02-09 14:35
本发明专利技术涉及一种定时任务运行状态控制方法及系统,属于云处理技术领域。获取待执行业务;对待执行业务中的多个待执行子业务进行排序,并对多个待执行子业务进行分组,得到多个待执行子业务集合;为待执行业务创建定时任务,并为每个待执行子业务集合创建一次型定时任务;当待执行子业务集合对应的一次型定时任务触发时,定时任务响应于一次型定时任务并触发待执行子业务集合中的待执行子业务开始执行,直到待执行子业务集合中的待执行子业务执行完毕,定时任务暂停并等待下一个待执行子业务集合对应的一次型定时任务触发。本申请通过创建一次型定时任务,实现了定时任务的自动暂停和自动启动,减少了业务执行间隙定时任务空转的次数,节省了资源。

【技术实现步骤摘要】

本专利技术涉及云处理,尤其是指一种定时任务运行状态控制方法及系统


技术介绍

1、随着自动化技术的发展,定时任务不断地在各种项目中得到使用,定时任务能够按照工作人员的提前设定执行处理流程,节省人力资源。但是在复杂场景或定时任务需求比较多的场景,工作人员也同样需要频繁地手动创建、启动、暂停和停止定时任务。

2、目前已有对定时任务的运行状态进行控制的方法,即当定时任务失败次数达到预设阈值时,控制定时任务停止运行,但是这种方式只能控制定时任务停止运行,无法使得定时任务在当前业务执行结束时自动暂停,并在下一个业务执行开始之前自动启动,当多个业务的执行时间存在间隔时,需要工作人员在当前业务执行结束时手动暂停定时任务,并在下一个业务执行开始时手动启动定时任务,如果不控制定时任务在两个业务执行时间间隔内暂停,则会导致定时任务在没有业务需要执行的时间间隔内空转,从而造成资源浪费。

3、综上所述,现有的定时任务运行状态控制方法仅能控制定时任务停止运行,无法控制定时任务基于正在执行的业务自动暂停或自动启动,导致在业务执行过程中需要手动控制定时任务的运行状态或者增加定时任务的空转次数,从而造成资源浪费。


技术实现思路

1、为此,本专利技术所要解决的技术问题在于克服现有技术中的定时任务运行状态控制方法无法使得定时任务基于正在执行的业务自动暂停或自动启动的问题。

2、为解决上述技术问题,本专利技术提供了一种定时任务运行状态控制方法,包括:

3、获取待执行业务;其中,所述待执行业务中包含多个待执行子业务;

4、对所述多个待执行子业务进行排序,并对排序后的多个待执行子业务进行分组,得到多个待执行子业务集合;其中,每个待执行子业务集合内的待执行子业务连续执行,相邻的待执行子业务集合之间存在时间间隔;

5、基于排序后第一个待执行子业务和最后一个待执行子业务创建定时任务,并为每个待执行子业务集合创建相应的一次型定时任务;其中,所述一次型定时任务的触发时间等于对应待执行子业务集合的执行时间;

6、当待执行子业务集合对应的一次型定时任务触发时,所述定时任务响应于所述一次型定时任务并触发所述待执行子业务集合中的待执行子业务开始执行,当所述待执行子业务集合中的待执行子业务执行完毕,所述定时任务暂停并等待下一个待执行子业务集合对应的一次型定时任务触发。

7、在本专利技术的一个实施例中,对所述多个待执行子业务进行排序包括:基于所述多个待执行子业务的执行时间对所述多个待执行子业务进行排序。

8、在本专利技术的一个实施例中,基于排序后每个待执行子业务的执行时间和结束时间对所述多个待执行子业务进行分组,得到多个待执行子业务集合包括:

9、若第n个待执行子业务的执行时间小于等于第n-1个待执行子业务的结束时间,则将所述第n个待执行子业务和所述第n-1个待执行子业务作为一个待执行子业务集合;

10、若第n个待执行子业务的执行时间大于第n-1个待执行子业务的结束时间,则将第n个待执行子业务和所述第n-1个待执行子业务划分至两个待执行子业务集合。

11、在本专利技术的一个实施例中,基于排序后第一个待执行子业务和最后一个待执行子业务创建定时任务包括:

12、将排序后第一个待执行子业务的执行时间作为定时任务的开始时间,将排序后最后一个待执行子业务的结束时间作为所述定时任务的结束时间。

13、在本专利技术的一个实施例中,待执行子业务集合的执行时间等于所述待执行子业务集合内第一个待执行子业务的执行时间。

14、在本专利技术的一个实施例中,所述定时任务和所述一次型定时任务均通过任务管理器设置。

15、在本专利技术的一个实施例中,所述一次型定时任务在触发后被所述任务管理器删除。

16、在本专利技术的一个实施例中,当所述待执行子业务集合内的待执行子业务执行失败时,重新执行所述待执行子业务集合内的待执行子业务。

17、在本专利技术的一个实施例中,当所述待执行子业务集合内的待执行子业务的执行失败次数达到预设阈值,所述定时任务停止。

18、本专利技术还提供了一种定时任务运行状态控制系统,包括:

19、客户端,用于发送待执行业务,所述待执行业务中包括多个待执行子业务;

20、服务端,用于接收所述待执行业务,对所述多个待执行子业务进行排序,并对排序后的多个待执行子业务进行分组,得到多个待执行子业务集合;其中,每个待执行子业务集合内的待执行子业务连续执行,相邻的待执行子业务集合之间存在时间间隔;

21、任务管理器,用于基于排序后第一个待执行子业务和最后一个待执行子业务创建定时任务,并为每个待执行子业务集合创建相应的一次型定时任务;其中,所述一次型定时任务的触发时间等于对应待执行子业务集合的执行时间,以便当待执行子业务集合对应的一次型定时任务触发时,所述定时任务响应于所述一次型定时任务并触发所述待执行子业务集合中的待执行子业务开始执行,当所述待执行子业务集合中的待执行子业务执行完毕,所述定时任务暂停并等待下一个待执行子业务集合对应的一次型定时任务触发。

22、本专利技术提供的定时任务运行状态控制方法将待执行业务中的多个待执行子业务进行排序,基于排序后的多个待执行子业务创建定时任务,使得多个子业务共用同一个定时任务,减少了定时任务的数量;将排序后的多个待执行子业务进行分组,得到多个待执行子业务集合,为每个待执行子业务集合创建一个用于唤醒定时任务的一次型定时任务,在每一个待执行子业务集合开始执行时触发一次型定时任务,使得定时任务响应于该一次型定时任务并触发待执行子业务集合中的待执行子业务开始执行,当待执行子业务集合中的待执行子业务执行结束后定时任务自动暂停并等待下一个待执行子业务集合的一次型定时任务的唤醒,实现了定时任务的自动暂停和自动启动,减少了定时任务空转的次数,节省了资源。

本文档来自技高网...

【技术保护点】

1.一种定时任务运行状态控制方法,其特征在于,包括:

2.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,对所述多个待执行子业务进行排序包括:基于所述多个待执行子业务的执行时间对所述多个待执行子业务进行排序。

3.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,基于排序后每个待执行子业务的执行时间和结束时间对所述多个待执行子业务进行分组,得到多个待执行子业务集合包括:

4.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,基于排序后第一个待执行子业务和最后一个待执行子业务创建定时任务包括:

5.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,待执行子业务集合的执行时间等于所述待执行子业务集合内第一个待执行子业务的执行时间。

6.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,所述定时任务和所述一次型定时任务均通过任务管理器设置。

7.根据权利要求6所述的定时任务运行状态控制方法,其特征在于,所述一次型定时任务在触发后被所述任务管理器删除。

8.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,当待执行子业务集合内的待执行子业务执行失败时,重新执行所述待执行子业务集合内的待执行子业务。

9.根据权利要求8所述的定时任务运行状态控制方法,其特征在于,当所述待执行子业务集合内的待执行子业务的执行失败次数达到预设阈值,所述定时任务停止。

10.一种定时任务运行状态控制系统,其特征在于,包括:

...

【技术特征摘要】

1.一种定时任务运行状态控制方法,其特征在于,包括:

2.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,对所述多个待执行子业务进行排序包括:基于所述多个待执行子业务的执行时间对所述多个待执行子业务进行排序。

3.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,基于排序后每个待执行子业务的执行时间和结束时间对所述多个待执行子业务进行分组,得到多个待执行子业务集合包括:

4.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,基于排序后第一个待执行子业务和最后一个待执行子业务创建定时任务包括:

5.根据权利要求1所述的定时任务运行状态控制方法,其特征在于,待执行子业务集合的执行时间等于所述待执行子业务集合...

【专利技术属性】
技术研发人员:王珏陶稳
申请(专利权)人:苏州良医汇网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1