本发明专利技术提供了一种基于Quartz框架的配置定时任务的方法,包括:步骤102,设置定时服务接口;步骤104,用户通过定时服务接口,增加任务,指定任务的时间规则,并为任务分配唯一标识;步骤106,根据时间规则,在预定时间上,根据唯一标识使用对应的业务接口执行任务。本发明专利技术还提供了一种基于Quartz框架的配置定时任务的装置。根据本发明专利技术的技术方案,可以实时查看任务运行状态,以及动态增加任务,暂停、恢复、移除定时任务。
【技术实现步骤摘要】
本专利技术涉及定时任务调度,具体而言,涉及一种基于Quartz框架的配置定时任务 的方法和装置。
技术介绍
在基于SAAS (Software as a Service,软件即服务)企业应用系统中经常需要加 入任务调度功能,要求定时的获得指定时间去执行业务逻辑。现有基于SAAS系统定时任务实现方法1. crontab 命令介绍=Crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执 行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读 取和执行。该词来源于希腊语chronos ( χ ρ ν ο ζ ),原意是时间。通常,crontab储存的指 令被守护进程激活,crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这 类作业一般称为cron jobs。其缺点(1)、crontab是系统级命令,应用程序在多种系统之间的迁移时非常复 杂;(2)、crontab无法内置到web容器中管理;(3)、每次关闭、暂停定时任务时需要专业的系统管理人员来操作。2. java. util. timer ^介绍JaVa2的开发包中提供了一种很实用的线程功能提前安排将来某段时间 执行某任务的Timer,TimerTask。可以使用这些类创建后台进程,让其在等待一段规定的 时间后执行,或者让其每隔一段时间执行。TimerTask实现了 Rurmable接口,待执行的任务 置于rim ()中。Timer是一个安排TimerTask的类,此两者一般一起工作。所应用时首先应 创建一个TimerTask的对象,然后用一个Timer的类对象安排执行它其缺点虽然java. util. timer类非常实用,但是如果在程序运行中实现暂停或 者恢复定时任务等功能,需要进行二次开发。3. Quartz 框架介绍Quartz (OpenSymphony开源组织在工作安排(Jobscheduling)领域的一个 开源项目)是个开源的作业调度框架,为在Java应用程序中进行作业调度提供了简单却强 大的机制,Quartz允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发 器的多对多关系,还能把多个作业与不同的触发器关联。它不仅可以实现前两种定时任务 的所有功能,而且只需要在系统中稍加配置就可以实现定时任务的管理。其缺点虽然Quartz的功能很实用,但并不能动态地增加、暂停、恢复、移除定时 任务。因此,需要一种新型的配置定时任务的方式,能够实现实时查看任务运行状态,以及动态增加任务,暂停、恢复、移除定时任务。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种配置定时任务的方式,能够实现实时 查看任务运行状态,以及动态增加任务,暂停、恢复、移除定时任务。有鉴于此,本专利技术公开了一种基于Quartz框架的配置定时任务的方法,包括步 骤102,设置定时服务接口 ;步骤104,用户通过定时服务接口,增加任务,指定所述任务的 时间规则,并为所述任务分配唯一标识;步骤106,根据所述时间规则,在预定时间上,根据 所述唯一标识使用对应的业务接口执行所述任务。该技术方案中,通过定时服务接口实现 对定时服务的即时配置。在上述技术方案中,优选地,所述步骤104还包括所述用户通过所述定时服务接 口对其他任务进行暂停、恢复或删除操作。在上述技术方案中,优选地,所述用户指定的所述时间规则存储于数据库中,所述 步骤104还包括所述用户从通过查询从所述数据库中获取所有任务的时间规则。在上述技术方案中,优选地,所述步骤102还包括所述用户通过查询以获取所述 所有任务的相关信息,其中,所述相关信息包括优先级和任务状态。在上述技术方案中,优选地,执行所述任务的线程从线程池中获得。该技术方案 中,通过线程池提高执行任务的效率。本专利技术还公开了一种基于Quartz框架的配置定时任务的装置,包括定时服务接 口 ;设置模块,用于供用户通过所述定时服务接口,增加任务,指定所述任务的时间规则,并 为所述任务分配唯一标识;触发器,根据所述时间规则,在预定时间上,根据所述唯一标识 使用对应的业务接口执行所述任务。该技术方案中,通过定时服务接口实现对定时服务的 即时配置。在上述技术方案中,优选地,所述设置模块还用于供所述用户通过所述定时服务 接口对其他任务进行暂停、恢复或删除操作。在上述技术方案中,优选地,还包括数据库模块,用于存储所述用户指定的所述时 间规则,所述设置模块还用于供用户通过查询从所述数据库模块获取所有任务的时间规 则。在上述技术方案中,优选地,所述用户使用所述设置模块进行的操作,通过所述设 置模块提供的图形界面来完成。在该技术方案中,图形界面使得配置定时任务的操作更加简单。在上述技术方案中,优选地,还包括线程池模块,用于提供执行所述任务的线程。 该技术方案中,通过线程池提高执行任务的效率。根据本专利技术的技术方案,可实现一种配置定时服务的方法和装置,能够实时查看 任务运行状态,以及动态增加任务,暂停、恢复、移除定时任务。附图说明图1是根据本专利技术的基于Quartz框架的配置定时服务的方法的流程图;图2是根据本专利技术的基于Quartz框架的配置定时服务的装置的框图3是根据本专利技术的一个实施例的基于Quartz框架的配置定时服务的方法的流 程图;图4是Quartz框架的Scheduler的内部组件结构的示意图;图5和图6是根据本专利技术的一个实施例的基于Quartz框架的配置定时服务的装 置的截屏示意图。具体实施例方式以下将参考附图详细描述根据本专利技术的实施例。图1是根据本专利技术的基于Quartz框架的配置定时服务的方法的流程图。如图1所示,本专利技术提供了一种基于Quartz框架的配置定时任务的方法,包括步 骤102,设置定时服务接口 ;步骤104,用户通过定时服务接口,增加任务,指定所述任务的 时间规则,并为所述任务分配唯一标识;步骤106,根据所述时间规则,在预定时间上,根据 所述唯一标识使用对应的业务接口执行所述任务。该技术方案中,通过定时服务接口实现 对定时服务的即时配置。在上述技术方案中,所述步骤104还包括所述用户通过所述定时服务接口对其 他任务进行暂停、恢复或删除操作。在上述技术方案中,所述用户指定的所述时间规则存储于数据库中,所述步骤104 还包括所述用户从通过查询从所述数据库中获取所有任务的时间规则。在上述技术方案中,所述步骤102还包括所述用户通过查询以获取所述所有任 务的相关信息,其中,所述相关信息包括优先级和任务状态。在上述技术方案中,执行所述任务的线程从线程池中获得。该技术方案中,通过线 程池提高执行任务的效率。图2是根据本专利技术的基于Quartz框架的配置定时服务的装置的框图。如图2所示,本专利技术还提供了 一种基于Quartz框架的配置定时任务的装置200,包 括定时服务接口 202 ;设置模块204,用于供用户通过所述定时服务接口 202,增加任务,指 定所述任务的时间规则,并为所述任务分配唯一标识;触发器206,根据所述时间规则,在 预定时间上,根据所述唯一标识使用对应的业务接口执行所述任务。该技术方案中,通过定 时服务接口实现对定时服务的即时配置。在上述技术方案中,所述设置模块204还用本文档来自技高网...
【技术保护点】
一种基于Quartz框架的配置定时任务的方法,其特征在于,包括:步骤102,设置定时服务接口;步骤104,用户通过定时服务接口,增加任务,指定所述任务的时间规则,并为所述任务分配唯一标识;步骤106,根据所述时间规则,在预定时间上,根据所述唯一标识使用对应的业务接口执行所述任务。
【技术特征摘要】
【专利技术属性】
技术研发人员:高磊,沈行,
申请(专利权)人:北京伟库电子商务科技有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。