一种定时任务设置系统及其定时任务运行方法与流程

文档序号:11949752阅读:672来源:国知局
一种定时任务设置系统及其定时任务运行方法与流程

本发明属于互联网技术领域,更具体地,涉及一种定时任务设置系统及其定时任务运行方法。



背景技术:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。crontab:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。目前所有定时任务使用Linux下的crontab触发执行,通过此方式运行有以下缺点:定时任务程序分散在各个目录中,不方便集中管理维护;临时暂停定时触发需要登录到生产环境服务器上,不仅繁琐而且不安全。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种定时任务设置系统及其定时任务运行方法,其目的在于独立运行,不依赖其他外部窗口不受操作系统限制,对定时任务进行添加、删除、查看以及配置,由此解决现有技术中定时任务不便管理的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种定时任务设置系统,包括一个任务调度平台,所述任务调度平台是一个独立的系统服务进程;所述任务调度平台自带运行时环境;所述任务调度平台用于对定时任务进行添加或删除操作,或者查看任务调度平台上的所有定时任务,或者对定时任务进行相关配置。

本发明的一个实施例中,所述任务调度平台包括一个WEB控制台,所述WEB控制台用于使用户通过浏览器访问该WEB控制台,对定时任务进行添加或删除操作,或者查看任务调度平台上的所有定时任务,或者对定时任务进行相关配置。

本发明的一个实施例中,所述任务调度平台包括一个HTTP接口,所述HTTP接口用于使用户通过HTTP命令访问所述任务调度平台,对定时任务进行添加或删除操作,或者查看任务调度平台上的所有定时任务,或者对定时任务进行相关配置。

本发明的一个实施例中,所述任务调度平台包括一个日志模块,所述日志模块用于收集所有定时任务输出的日志信息,并汇总到预设统一位置;并用于让用户通过浏览器或者HTTP接口浏览、搜索以及下载任务日志信息。

本发明的一个实施例中,所述任务调度平台包括一个监控模块,所述监控模块用于监控所有定时任务的运行时状态,记录定时任务所消耗的CPU、内存以及网络带宽资源。

本发明的一个实施例中,所述任务调度平台包括一个告警模块,所述告警模块用于从监控模块中获取定时任务的运行时信息,当运行时信息的数据值超过预设告警阈值时触发告警。

本发明的一个实施例中,所述告警通过email、手机短信、微信、手机语音中的一种或多种途径发送给具体的任务负责人。

按照本发明的另一方面,还提供了一种基于上述定时任务设置系统的定时任务运行方法,包括:

用户编写定时任务,并通过WEB控制台或HTTP接口将所述定时任务提交到任务调度平台中,所述定时任务中至少包括有任务名称和任务触发时间时间;

当到达所述任务触发时间时,所述定时任务开始运行;

如果所述定时任务执行成功,则结束;如果所述定时任务未执行成功,则所述定时任务再次运行直到执行成功。

本发明的一个实施例中,如果所述定时任务达到失败重试次数上限仍未执行成功,则发出告警。

本发明的一个实施例中,在将定时任务提交到任务调度平台中后,还通过WEB控制台或HTTP接口查看所述定时任务,或者对定时任务进行相关配置,或者删除所述定时任务。

通过本发明实施例提供的定时任务设置系统,能够独立运行,不依赖其他外部窗口不受操作系统限制,可以在任务调度平台中对定时任务集中进行添加、删除、查看以及配置,解决了现有技术中定时任务不便管理的技术问题。并且进一步地,定时任务代码集中管理,方便维护;在任务执行失败时设置了任务的重新执行流程,从而能够实现任务自动重试;并且在任务多次失败时会收到告警通知,任务执行人无需每日手动检查任务是否正常运行完毕。

附图说明

图1是本发明实施例中一种定时任务设置系统的结构示意图;

图2是本发明实施例中另一种定时任务设置系统的结构示意图;

图3是本发明实施例中一种定时任务运行方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提供了一种定时任务设置系统,包括一个任务调度平台,所述任务调度平台是一个独立的系统服务进程,不依赖其他外部容器(像tomcat/jboss等);所述任务调度平台自带运行时环境,能够直接安装和运行在任意linux或windows操作系统上,不受操作系统限制;所述任务调度平台用于对定时任务进行添加或删除操作,以及查看任务调度平台上的所有定时任务,并能够对定时任务进行相关配置。

如图1所示,为本发明实施例中一种定时任务设置系统的结构,所述任务调度平台1包括一个WEB控制台11,用户可以通过浏览器访问该WEB控制台11,对定时任务进行添加或删除操作,以及查看任务调度平台上的所有定时任务,并能够对定时任务进行相关配置。

或者如图1所示,所述任务调度平台1还可以包括一个HTTP接口12,用户可以通过HTTP接口12访问所述任务调度平台,对定时任务进行添加或删除操作,以及查看任务调度平台上的所有定时任务,并能够对定时任务进行相关配置。HTTP接口12可以看做是WEB控制台的无图形界面版本,当网络条件不好、浏览器故障无法进入WEB控制台11时,用户通过该HTTP接口12可以进行一切操作。用户也可以通过该HTTP接口12更方便的进行系统集成。

进一步地,如图2所示,所述任务调度平台1还可以包括一个日志模块13,所述日志模块13用于收集所有定时任务输出的日志信息,并汇总到预设统一位置;用户也可以通过浏览器或者HTTP接口12浏览、搜索以及下载任务日志信息。所述日志模块13为日志查询提供了便利。

进一步地,如图2所示,所述任务调度平台1还可以包括一个监控模块14,所述监控模块14用于监控所有定时任务的运行时状态,记录定时任务所消耗的CPU、内存以及网络带宽资源。所消耗的CPU、内存以及网络带宽资源等数据可以通过HTTP接口获取,用户通过浏览器就可以观察到任务的一切状态。

进一步地,如图2所示,所述任务调度平台1还可以包括一个告警模块15,所述告警模块15用于从监控模块中获取定时任务的运行时信息,当运行时信息的数据值超过预设告警阈值时触发告警。

具体地,所述告警可以通过email、手机短信、微信、手机语音中的一种或多种途径发送给具体的任务负责人。需要说明的是,上述告警途径可以任意配置。

设告警阈值为用户输入,用户可以通过WEB控制台对任务的告警阀值进行配置,例如通常可以为3次。

通过本发明实施例提供的定时任务设置系统,能够独立运行,不依赖其他外部窗口不受操作系统限制,可以在任务调度平台中对定时任务集中进行添加、删除、查看以及配置,解决了现有技术中定时任务不便管理的技术问题。并且进一步地,定时任务代码集中管理,方便维护;在任务执行失败时设置了任务的重新执行流程,从而能够实现任务自动重试;并且在任务多次失败时会收到告警通知,任务执行人无需每日手动检查任务是否正常运行完毕。

进一步地,如图3所示,本发明还提供了一种基于上述定时任务设置系统的定时任务运行方法,包括:

S1、用户编写定时任务,并通过WEB控制台或HTTP接口将所述定时任务提交到任务调度平台中,所述定时任务中至少包括有任务名称和任务触发时间时间;定时任务由用户编写,不受编程语言的限制,也可以是一段脚本代码;

具体地,该定时任务系统可以提供一个编程接口类,该编程接口负责对接具体任务。将具体任务类继承该类后,具体任务类就会被定时任务系统扫描到;

将上述编写的具体任务配置到定时任务设置系统中,具体地,可以使用定时任务设置系统提供的WEB控制台添加任务,需要填写以下信息:

任务类名:程序的类路径,定时任务设置系统通过该路径找到对应的任务类;

任务触发周期:该项需要填写一个cron表达式,定时任务设置系统通过该表达式计算出任务触发周期;

失败重试次数:当任务执行失败时重新尝试执行该任务的次数;

是否启用:该任务是否启用,任务在启用状态下才会被触发。

S2、当到达所述任务触发时间时,所述定时任务开始运行;

到达任务触发任务时间时,定时任务设置系统判断任务是否为启用状态。如果任务是启用状态则启动任务,否则直接跳到任务结束状态。启动任务具体为调用步骤S1中的具体任务类,开始执行任务代码.

S3、如果所述定时任务执行成功,则结束;如果所述定时任务未执行成功,则所述定时任务再次运行直到执行成功。其中,如果所述定时任务达到失败重试次数上限仍未执行成功,则发出告警。

当任务执行过程中出现异常时,定时任务框架会捕获该异常并进入重试逻辑。

步骤S1中我们对任务设置了“失败重试次数”。当任务被触发并开始执行时,定时任务框架会初始化“已重试次数”变量为0,当任务进入执行失败并且“已重试次数”<“失败重试次数”时任务开始重新执行,在重新执行任务前将“已重试次数”+1;当“已重试次数”>=“失败重试次数”则取消重试,判定任务执行失败,并进入告警阶段。任务进入告警阶段,告警模块会将任务的错误信息通过email、短信等方式发送出来。

进一步地,在将定时任务提交到任务调度平台中后,还可以通过WEB控制台或HTTP接口查看所述定时任务,或者对定时任务进行相关配置(例如修改任务名称、任务触发时间、备注等),或者删除所述定时任务。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1