CN112379989B - 一种定时任务进程与队列服务进程管理系统及方法 - Google Patents

一种定时任务进程与队列服务进程管理系统及方法 Download PDF

Info

Publication number
CN112379989B
CN112379989B CN202011330923.5A CN202011330923A CN112379989B CN 112379989 B CN112379989 B CN 112379989B CN 202011330923 A CN202011330923 A CN 202011330923A CN 112379989 B CN112379989 B CN 112379989B
Authority
CN
China
Prior art keywords
task
configuration information
type
timing
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011330923.5A
Other languages
English (en)
Other versions
CN112379989A (zh
Inventor
刘云锋
李鲲鹏
金国兴
周雪峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ickey Shanghai Internet Technology Co ltd
Original Assignee
Ickey Shanghai Internet Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ickey Shanghai Internet Technology Co ltd filed Critical Ickey Shanghai Internet Technology Co ltd
Priority to CN202011330923.5A priority Critical patent/CN112379989B/zh
Publication of CN112379989A publication Critical patent/CN112379989A/zh
Application granted granted Critical
Publication of CN112379989B publication Critical patent/CN112379989B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种定时任务进程与队列服务进程管理系统及方法,该系统包括:数据中心,用于通过可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;第一类配置信息中包括定时拉起配置信息;调度模块,用于基于预设定时器定时加载数据中心的第一类配置信息,并直接加载第二类配置信息,根据第一类配置信息和第二类配置信息确定对应的待执行任务;执行器,用于接收并执行调度模块下发的待执行任务。本申请中用户可以通过可视化的配置界面对定时任务进程以及队列服务进程进行配置,方便对各进程进行直观的配置管理;为定时任务进程设置定时拉起配置信息,能够解决数据库连接无法释放的问题,避免了系统资源的浪费。

Description

一种定时任务进程与队列服务进程管理系统及方法
技术领域
本申请涉及进程管理技术领域,更具体地说,涉及一种定时任务进程与队列服务进程管理系统及方法。
背景技术
在企业的一个业务项目中,通常包括各个系统的多个定时任务和多个队列服务。其中,队列工作服务一般使用常驻进程,无法释放一定时间内不使用的数据库连接,导致占用了系统资源。而针对定时任务进程和队列服务进程的配置也通常采用后台脚本实现,不便于用户进行管理。
因此,如何解决上述问题是本领域技术人员需要重点关注的。
发明内容
本申请的目的在于提供一种定时任务进程与队列服务进程管理系统及方法,便于对各进程进行直观的配置管理,同时解决了数据库连接无法释放的问题,避免系统资源的浪费。
为实现上述目的,本申请提供了一种定时任务进程与队列服务进程管理系统,包括:
数据中心,用于通过可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;所述第一类配置信息中包括定时拉起配置信息;
调度模块,用于基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务;
执行器,用于接收并执行所述调度模块下发的所述待执行任务。
可选的,所述数据中心,包括:
配置单元,用于通过可视化的所述配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;
管理单元,用于当启动定时任务的主进程或队列服务的主进程之后,导入所述第一类配置信息或所述第二类配置信息,并通过可视化的管理界面对所述第一类配置信息或所述第二类配置信息进行显示。
可选的,所述第一类配置信息,包括:任务名称、任务命令、任务状态、任务执行环境、定时拉起配置信息、任务级别、任务拥有者信息中任一项或任几项的组合;所述第二类配置信息,包括:服务名称、服务命令、服务状态、服务执行环境、服务级别、服务拥有者信息中任一项或任几项的组合。
可选的,所述管理单元,还用于:
通过所述管理界面显示针对所述第一类配置信息的附加参数配置子界面,以便通过所述附加参数配置子界面接收用户终端设置的附加参数;
其中,所述附加参数包括任务节点、任务超时时间、任务失败重试次数、任务失败重试时间间隔、任务通知开启/关闭配置信息中任一项或任几项的组合。
可选的,所述管理单元,还用于:
通过所述管理界面对所述定时任务对应的任务日志进行显示,所述任务日志中包括任务执行开始时间、任务执行结束时间、任务执行时长、任务开始时对应的初始内存大小、任务结束时对应的目标内存大小以及执行结果中任一项或任几项的组合;
通过所述管理界面对任务执行时长统计表进行显示,所述任务执行时长统计表中包括定时任务中所涉及的针对数据表的更新操作记录。
可选的,所述调度模块,包括:
第一加载单元,用于基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并判断所述第一类配置信息对应的定时任务是否允许执行,如果是,则将当前定时任务确定为所述待执行任务;
第二加载单元,用于加载所述数据中心的第二类配置信息,利用预设验证规则筛选满足执行条件的队列任务确定为所述待执行任务。
可选的,所述执行器,包括:
定时任务执行单元,用于对定时任务对应的第一类待执行任务进行执行,在执行完成后输出执行结果并退出执行进程;
队列任务执行单元,用于对队列服务对应的第二类待执行任务进行执行,并利用消息处理引擎Kafka自动关闭阻塞进程。
为实现上述目的,本申请提供了一种定时任务进程与队列服务进程管理方法,包括:
通过数据中心可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;所述第一类配置信息中包括定时拉起配置信息;
基于预设定时器的设置,利用调度模块定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务;
将所述待执行任务下发至执行器,以便所述执行器执行所述待执行任务。
可选的,所述通过数据中心可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息,包括:
通过数据中心可视化的所述配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;
当启动定时任务的主进程或队列服务的主进程之后,导入所述第一类配置信息或所述第二类配置信息,并通过数据中心可视化的管理界面对所述第一类配置信息或所述第二类配置信息进行显示。
可选的,还包括:
通过所述管理界面对所述定时任务对应的任务日志进行显示,所述任务日志中包括任务执行开始时间、任务执行结束时间、任务执行时长、任务开始时对应的初始内存大小、任务结束时对应的目标内存大小以及执行结果中任一项或任几项的组合;
通过所述管理界面对任务执行时长统计表进行显示,所述任务执行时长统计表中包括定时任务中所涉及的针对数据表的更新操作记录。
通过以上方案可知,本申请提供的一种定时任务进程与队列服务进程管理系统,包括:数据中心,用于通过可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;所述第一类配置信息中包括定时拉起配置信息;调度模块,用于基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务;执行器,用于接收并执行所述调度模块下发的所述待执行任务。由上可知,本申请中用户可以通过可视化的配置界面对定时任务进程以及队列服务进程进行配置,实现更加方便直观地对各进程进行配置管理,提升了用户的使用体验;另外通过为定时任务进程设置定时拉起配置信息,能够解决数据库连接无法释放的问题,避免了系统资源的浪费。
本申请还公开了一种定时任务进程与队列服务进程管理系统方法,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种定时任务进程与队列服务进程管理系统的结构图;
图2为本申请实施例公开的一种定时任务进程与队列服务进程管理方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在相关技术中,队列工作服务一般使用常驻进程,无法释放一定时间内不使用的数据库连接,导致占用了系统资源。而针对定时任务进程和队列服务进程的配置也通常采用后台脚本实现,不便于用户进行管理。
因此,本申请实施例公开了一种定时任务进程与队列服务进程管理系统,便于对各进程进行直观的配置管理,同时解决了数据库连接无法释放的问题,避免系统资源的浪费。
参见图1所示,本申请实施例公开的一种定时任务进程与队列服务进程管理系统,具体包括:
数据中心10,用于通过可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;所述第一类配置信息中包括定时拉起配置信息;
本申请实施例中,数据中心10具体用于接收用户的配置信息。具体地,数据中心10可以提供可视化的配置界面,用户可以基于可视化的配置界面下发为定时任务进程设置的第一类配置信息以及为队列服务进程设置的第二类配置信息。在具体实施中,可视化的配置界面可以按照预先设定的格式显示定时任务进程与队列服务进程所需配置的各类基本参数名称,并显示对应的输入框或可选项,用户可以通过手动输入或选择已有参数的方式下发配置信息。其中,上述定时任务进程的第一类配置信息中可以具体包括定时拉起配置信息,该配置信息用于将定时任务进程设置为定时拉起的进程,从而及时释放对应的数据库连接。
需要指出的是,上述第一类配置信息可以包括但不限于:任务名称、任务命令、任务状态、任务执行环境、定时拉起配置信息、任务级别、任务拥有者信息;上述第二类配置信息可以包括但不限于:服务名称、服务命令、服务状态、服务执行环境、服务级别、服务拥有者信息。
作为一种可行的实施方式,本申请实施例中的数据中心10可以包括配置单元,用于通过可视化的所述配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;管理单元,用于当启动定时任务的主进程或队列服务的主进程之后,导入所述第一类配置信息或所述第二类配置信息,并通过可视化的管理界面对所述第一类配置信息或所述第二类配置信息进行显示。
也即,配置中心用于实现对定时任务进程和队列服务进程的配置,主要涉及定时任务进程和队列服务进程的部分主要执行配置参数。而管理中心可以具备其单独的图形界面,即可视化的管理界面。在每次启动对应系统定时任务或队列服务的主进程后,将配置中心的数据新增或更新到管理中心的定时任务或队列服务对应的配置数据中。
调度模块20,用于基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务;
本申请实施例中,调度模块20可以基于预设定时器的设置,定时地加载数据中心的第一类配置信息,针对第二类配置信息可以直接进行加载。后续可基于第一类配置信息和第二类配置信息确定出对应的待执行任务。
在具体实施中,上述调度模块20可以具体包括:第一加载单元,用于基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并判断所述第一类配置信息对应的定时任务是否允许执行,如果是,则将当前定时任务确定为所述待执行任务;第二加载单元,用于加载所述数据中心的第二类配置信息,利用预设验证规则筛选满足执行条件的队列任务确定为所述待执行任务。
也即,调度模块中,可包括定时任务对应的第一加载单元和队列服务对应的第二加载单元。其中,第一加载单元可具体依赖于Swoole的定时器Timer,一种毫秒精度的定时器,底层基于epoll_wait和setitimer实现。其数据结构使用最小堆,可支持添加大量定时器。而定时器的添加和删除,全部为内存操作,能够达到较高的性能。第一加载单元每秒加载一次数据中心的第一类配置信息,并进行一轮验证操作,例如,验证定时任务是否允许运行,任务执行的定时配置是否在当前一秒内可以运行。如果可以运行,将此定时任务传递到一个通路内,另一个线程接收到通路的数据后即可将任务分发至执行器。
上述第二加载单元,其不依赖于定时器的Timer机制,而是在工作进程启动时,直接加载数据中心的配置信息,通过验证规则将满足条件的任务直接分发到执行器去执行。
执行器30,用于接收并执行所述调度模块下发的所述待执行任务。
可以理解的是,当调度模块20将待执行任务分发至执行器30后,执行器30将展开任务的执行过程。
需要说明的是,上述执行器30可以包括:定时任务执行单元,用于对定时任务对应的第一类待执行任务进行执行,在执行完成后输出执行结果并退出执行进程;队列任务执行单元,用于对队列服务对应的第二类待执行任务进行执行,并利用消息处理引擎Kafka自动关闭阻塞进程。
作为一种可行的实施方式,本申请实施例可在定时任务执行单元中注入三个事件点:任务开始执行、任务执行成功、任务执行失败。通过三个事件点,能够方便收集对应事件点的数据。在每次任务执行完成后,将结果传给父进程。在每次执行完一个定时任务后,即退出该执行进程,同时释放了数据库的连接,减少了系统资源的消耗。
针对上述队列任务执行单元,本申请实施例不再使用原有Redis的List数据结构,而是使用消息处理引擎Kafka。由于消息处理引擎Kafka的高可用性,能够解决队列消费的单点问题。由于队列服务通常采用常驻进程,每次启动后进程就一直处于运行状态,每次对数据库操作之后就会建立对应的数据库连接。本实施例中,基于Kafka的每次阻塞时间,可设置在几个阻塞时间内没有收到数据时,底层将自动关闭对应的数据库连接,由此解决了数据库连接无法释放的问题。
通过以上方案可知,本申请提供的一种定时任务进程与队列服务进程管理系统,包括:数据中心,用于通过可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;所述第一类配置信息中包括定时拉起配置信息;调度模块,用于基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务;执行器,用于接收并执行所述调度模块下发的所述待执行任务。由上可知,本申请中用户可以通过可视化的配置界面对定时任务进程以及队列服务进程进行配置,实现更加方便直观地对各进程进行配置管理,提升了用户的使用体验;另外通过为定时任务进程设置定时拉起配置信息,能够解决数据库连接无法释放的问题,避免了系统资源的浪费。
在上述实施例的基础上,本申请实施例对上述数据中心10中的管理中心进行了进一步优化和说明。
具体地,管理单元,还可以用于:通过可视化的管理界面显示针对第一类配置信息的附加参数配置子界面,以便通过附加参数配置子界面接收用户终端设置的附加参数;其中,附加参数可以包括但不限于任务节点、任务超时时间、任务失败重试次数、任务失败重试时间间隔、任务通知开启/关闭配置信息。
也即,通过配置中心,可以对定时任务进程与队列服务进程的主要配置参数进行设置。而在管理中心,还可对定时任务进程增设一些额外的配置参数,作为主要配置参数的补充。在具体实施中,可在可视化的管理界面显示附加参数配置子界面,例如可在管理界面的局部位置显示附加参数配置子界面,用户可通过子界面配置补充的附加参数。
在一种优选的实施方式中,管理单元还可以用于:通过管理界面对定时任务对应的任务日志进行显示,所述任务日志中可以包括但不限于任务执行开始时间、任务执行结束时间、任务执行时长、任务开始时对应的初始内存大小、任务结束时对应的目标内存大小以及执行结果;还可通过管理界面对任务执行时长统计表进行显示,所述任务执行时长统计表中包括定时任务中所涉及的针对数据表的更新操作记录。
可以理解的是,通过可视化的管理界面,用户可以查看和管理对应的定时任务,还可查看任务日志的记录。在管理界面中,还可以显示任务执行时长图表,用于显示定时任务针对数据表的更新操作记录。通过图像化的方式,显示在某一段时间内运行的各个定时任务命令,基于此功能,能够直观地看出哪些定时任务是一起运行的。另外,还包括了定时任务涉及的针对数据表的更新操作记录,通过此功能,可以便于用户分析哪些定时任务的命令可能会涉及到锁表,能够预先发现并进行防范或解决。
在上述任一实施例的基础上,本申请实施例对上述调度模块20进行了进一步优化和说明。
可以理解的是,调度模块20主要作为数据中心10和执行器30之间的桥梁。考虑到PHP自带的pcntl组件存在很多不足,如没有提供进程间通信的功能,不支持重定向标准输入和输出,只提供了fork类型的原始接口,容易使用错误。本申请实施例中,使用Swoole的Process模块替换了PHP自带的pcntl组件。相较于pcntl组件,Process模块提供了更加强大的功能,可以方便的实现进程间通信,支持重定向标准输入和输出,同时提供了exec接口,创建的进程可以执行其他程序,与原PHP父进程之间可以方便的进行通信。
需要指出的是,项目中的每个系统都存在对应的主进程,如定时任务和队列服务都具备其对应的主进程,主进程具体用于管理其所在系统下的监控进程和工作进程。其中,监控进程定时收集运行数据,并基于预先设定的报警规则对每次收集的运行结果数据进行计算,若达到报警条件,则通过告警接口上报相应的数据。上述工作进程的具体实施过程可参考前述实施例公开的第一加载单元和第二加载单元的工作流程,在此不再进行赘述。
下面对本申请实施例提供的一种定时任务进程与队列服务进程管理方法进行介绍,下文描述的一种定时任务进程与队列服务进程管理方法与上文描述的一种定时任务进程与队列服务进程管理系统可以相互参照。
参见图2所示,本申请实施例提供的一种定时任务进程与队列服务进程管理方法包括:
S101:通过数据中心可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;所述第一类配置信息中包括定时拉起配置信息;
S102:基于预设定时器的设置,利用调度模块定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务;
S103:将所述待执行任务下发至执行器,以便所述执行器执行所述待执行任务。
关于上述步骤S101至S103的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。
在上述实施例的基础上,作为一种优选实施方式,所述通过数据中心可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息的过程可以包括:
通过数据中心可视化的所述配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;
当启动定时任务的主进程或队列服务的主进程之后,导入所述第一类配置信息或所述第二类配置信息,并通过数据中心可视化的管理界面对所述第一类配置信息或所述第二类配置信息进行显示。
在上述实施例的基础上,作为一种优选实施方式,所述第一类配置信息,包括:任务名称、任务命令、任务状态、任务执行环境、定时拉起配置信息、任务级别、任务拥有者信息中任一项或任几项的组合;所述第二类配置信息,包括:服务名称、服务命令、服务状态、服务执行环境、服务级别、服务拥有者信息中任一项或任几项的组合。
在上述实施例的基础上,作为一种优选实施方式,本申请实施例提供的定时任务进程与队列服务进程管理方法还可以进一步包括:
通过所述管理界面显示针对所述第一类配置信息的附加参数配置子界面,以便通过所述附加参数配置子界面接收用户终端设置的附加参数;
其中,所述附加参数包括任务节点、任务超时时间、任务失败重试次数、任务失败重试时间间隔、任务通知开启/关闭配置信息中任一项或任几项的组合。
在上述实施例的基础上,作为一种优选实施方式,本申请实施例提供的定时任务进程与队列服务进程管理方法还可以进一步包括:
通过所述管理界面对所述定时任务对应的任务日志进行显示,所述任务日志中包括任务执行开始时间、任务执行结束时间、任务执行时长、任务开始时对应的初始内存大小、任务结束时对应的目标内存大小以及执行结果中任一项或任几项的组合;
通过所述管理界面对任务执行时长统计表进行显示,所述任务执行时长统计表中包括定时任务中所涉及的针对数据表的更新操作记录。
在上述实施例的基础上,作为一种优选实施方式,本申请实施例提供的定时任务进程与队列服务进程管理方法还可以进一步包括:
基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并判断所述第一类配置信息对应的定时任务是否允许执行,如果是,则将当前定时任务确定为所述待执行任务;
加载所述数据中心的第二类配置信息,利用预设验证规则筛选满足执行条件的队列任务确定为所述待执行任务。
在上述实施例的基础上,作为一种优选实施方式,所述将所述待执行任务下发至执行器之后,还包括:
利用所述执行器对定时任务对应的第一类待执行任务进行执行,在执行完成后输出执行结果并退出执行进程;
利用所述执行器对队列服务对应的第二类待执行任务进行执行,并利用消息处理引擎Kafka自动关闭阻塞进程。
本申请中,用户可以通过可视化的配置界面对定时任务进程以及队列服务进程进行配置,实现更加方便直观地对各进程进行配置管理,提升了用户的使用体验;另外通过为定时任务进程设置定时拉起配置信息,能够解决数据库连接无法释放的问题,避免了系统资源的浪费。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种定时任务进程与队列服务进程管理系统,其特征在于,包括:
数据中心,用于通过可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;所述第一类配置信息中包括定时拉起配置信息;
调度模块,用于基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务;
执行器,用于接收并执行所述调度模块下发的所述待执行任务;
其中,所述调度模块,包括:
第一加载单元,用于基于预设定时器的设置定时加载所述数据中心的所述第一类配置信息,并判断所述第一类配置信息对应的定时任务是否允许执行,如果是,则将当前定时任务确定为所述待执行任务;
第二加载单元,用于加载所述数据中心的第二类配置信息,利用预设验证规则筛选满足执行条件的队列任务确定为所述待执行任务;
相应的,所述执行器,包括:
定时任务执行单元,用于对定时任务对应的第一类待执行任务进行执行,在执行完成后输出执行结果并退出执行进程;
队列任务执行单元,用于对队列服务对应的第二类待执行任务进行执行,并利用消息处理引擎Kafka自动关闭阻塞进程。
2.根据权利要求1所述的定时任务进程与队列服务进程管理系统,其特征在于,所述数据中心,包括:
配置单元,用于通过可视化的所述配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;
管理单元,用于当启动定时任务的主进程或队列服务的主进程之后,导入所述第一类配置信息或所述第二类配置信息,并通过可视化的管理界面对所述第一类配置信息或所述第二类配置信息进行显示。
3.根据权利要求2所述的定时任务进程与队列服务进程管理系统,其特征在于,所述第一类配置信息,包括:任务名称、任务命令、任务状态、任务执行环境、定时拉起配置信息、任务级别、任务拥有者信息中任一项或任几项的组合;所述第二类配置信息,包括:服务名称、服务命令、服务状态、服务执行环境、服务级别、服务拥有者信息中任一项或任几项的组合。
4.根据权利要求2所述的定时任务进程与队列服务进程管理系统,其特征在于,所述管理单元,还用于:
通过所述管理界面显示针对所述第一类配置信息的附加参数配置子界面,以便通过所述附加参数配置子界面接收用户终端设置的附加参数;
其中,所述附加参数包括任务节点、任务超时时间、任务失败重试次数、任务失败重试时间间隔、任务通知开启/关闭配置信息中任一项或任几项的组合。
5.根据权利要求2所述的定时任务进程与队列服务进程管理系统,其特征在于,所述管理单元,还用于:
通过所述管理界面对所述定时任务对应的任务日志进行显示,所述任务日志中包括任务执行开始时间、任务执行结束时间、任务执行时长、任务开始时对应的初始内存大小、任务结束时对应的目标内存大小以及执行结果中任一项或任几项的组合;
通过所述管理界面对任务执行时长统计表进行显示,所述任务执行时长统计表中包括定时任务中所涉及的针对数据表的更新操作记录。
6.一种定时任务进程与队列服务进程管理方法,其特征在于,包括:
通过数据中心可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;所述第一类配置信息中包括定时拉起配置信息;
基于预设定时器的设置,利用调度模块定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务;
将所述待执行任务下发至执行器,以便所述执行器执行所述待执行任务;
其中,所述调度模块包括第一加载单元和第二加载单元;
相应的,所述基于预设定时器的设置,利用调度模块定时加载所述数据中心的所述第一类配置信息,并直接加载所述第二类配置信息,通过对所述第一类配置信息和所述第二类配置信息进行验证,确定对应的待执行任务,包括:
基于预设定时器的设置利用所述第一加载单元定时加载所述数据中心的所述第一类配置信息,并判断所述第一类配置信息对应的定时任务是否允许执行,如果是,则将当前定时任务确定为所述待执行任务;
利用所述第二加载单元加载所述数据中心的第二类配置信息,并利用预设验证规则筛选满足执行条件的队列任务确定为所述待执行任务;
相应的,所述执行器包括定时任务执行单元和队列任务执行单元,所述将所述待执行任务下发至执行器,以便所述执行器执行所述待执行任务,包括:
利用所述定时任务执行单元对定时任务对应的第一类待执行任务进行执行,在执行完成后输出执行结果并退出执行进程;
利用所述队列任务执行单元对队列服务对应的第二类待执行任务进行执行,并利用消息处理引擎Kafka自动关闭阻塞进程。
7.根据权利要求6所述的定时任务进程与队列服务进程管理方法,其特征在于,所述通过数据中心可视化的配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息,包括:
通过数据中心可视化的所述配置界面接收定时任务进程的第一类配置信息和队列服务进程的第二类配置信息;
当启动定时任务的主进程或队列服务的主进程之后,导入所述第一类配置信息或所述第二类配置信息,并通过数据中心可视化的管理界面对所述第一类配置信息或所述第二类配置信息进行显示。
8.根据权利要求7所述的定时任务进程与队列服务进程管理方法,其特征在于,还包括:
通过所述管理界面对所述定时任务对应的任务日志进行显示,所述任务日志中包括任务执行开始时间、任务执行结束时间、任务执行时长、任务开始时对应的初始内存大小、任务结束时对应的目标内存大小以及执行结果中任一项或任几项的组合;
通过所述管理界面对任务执行时长统计表进行显示,所述任务执行时长统计表中包括定时任务中所涉及的针对数据表的更新操作记录。
CN202011330923.5A 2020-11-24 2020-11-24 一种定时任务进程与队列服务进程管理系统及方法 Active CN112379989B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011330923.5A CN112379989B (zh) 2020-11-24 2020-11-24 一种定时任务进程与队列服务进程管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011330923.5A CN112379989B (zh) 2020-11-24 2020-11-24 一种定时任务进程与队列服务进程管理系统及方法

Publications (2)

Publication Number Publication Date
CN112379989A CN112379989A (zh) 2021-02-19
CN112379989B true CN112379989B (zh) 2021-11-05

Family

ID=74588019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011330923.5A Active CN112379989B (zh) 2020-11-24 2020-11-24 一种定时任务进程与队列服务进程管理系统及方法

Country Status (1)

Country Link
CN (1) CN112379989B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553066A (zh) * 2021-07-23 2021-10-26 国网江苏省电力有限公司 一种基于流程化配置的智能任务调度方法
CN113919878B (zh) * 2021-10-16 2024-05-28 云南白药集团医药电子商务有限公司 可全流程配置的自动化营销方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8522240B1 (en) * 2006-10-19 2013-08-27 United Services Automobile Association (Usaa) Systems and methods for collaborative task management
CN102404225B (zh) * 2011-11-30 2014-07-09 上海海事大学 一种用于差分队列服务系统的数据包快速入队方法
US10515326B2 (en) * 2015-08-28 2019-12-24 Exacttarget, Inc. Database systems and related queue management methods
CN109508177B (zh) * 2018-08-21 2022-07-15 深圳乐信软件技术有限公司 一种实时计算方法、装置、服务器及存储介质
CN111857998A (zh) * 2020-07-10 2020-10-30 科大国创云网科技有限公司 一种可配置的定时任务调度方法及系统

Also Published As

Publication number Publication date
CN112379989A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN110377413B (zh) 基于bpmn标准的分布式任务异步调度和监控的系统
US20160098293A1 (en) System, method, and software for controlled interruption of batch job processing
US8910138B2 (en) Hot pluggable extensions for access management system
CN106201672B (zh) 一种定时任务设置系统及其定时任务运行方法
CN112379989B (zh) 一种定时任务进程与队列服务进程管理系统及方法
CN104360878B (zh) 一种应用软件部署的方法及装置
CN111125444A (zh) 大数据任务调度管理方法、装置、设备及存储介质
CN105302722B (zh) Cts自动测试方法及装置
US12106143B2 (en) Scheduling complex jobs in a distributed network
RU2010128545A (ru) Планирование управления мобильным устройством
CN107577527B (zh) 任务生成、调度方法及装置
CN114035925A (zh) 一种工作流调度方法、装置、设备及可读存储介质
US20100223371A1 (en) Method for interacting with user and terminal thereof
CN112231073A (zh) 一种分布式任务调度方法及其装置
CN110716943B (zh) 缺失数据补录方法、装置、计算机设备及存储介质
CN111538525B (zh) 一种用于程序发布的快速迭代与回滚方法
CN113687927A (zh) Flume任务调度配置方法、装置、设备及存储介质
CN114787836A (zh) 用于远程执行一个或更多个任意定义的工作流的系统和方法
CN105207799A (zh) 批命令的执行方法及装置
CN111240998A (zh) 测试用例处理方法和装置
WO2016019732A1 (zh) 操作结果处理方法、装置及系统
KR20060114661A (ko) 장치관리 시스템 및 그 시스템에서의 사용자와의 상호작용방법
CN114244894A (zh) 停复机业务处理方法、系统、计算机存储介质和电子设备
CN111176959B (zh) 跨域的应用服务器的预警方法、系统及存储介质
JP2014191568A (ja) 運用システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant