CN112463348B - 一种定时任务处理方法及装置 - Google Patents

一种定时任务处理方法及装置 Download PDF

Info

Publication number
CN112463348B
CN112463348B CN202110111739.XA CN202110111739A CN112463348B CN 112463348 B CN112463348 B CN 112463348B CN 202110111739 A CN202110111739 A CN 202110111739A CN 112463348 B CN112463348 B CN 112463348B
Authority
CN
China
Prior art keywords
timing task
timing
task
execution
executing
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
CN202110111739.XA
Other languages
English (en)
Other versions
CN112463348A (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.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information 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 Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN202110111739.XA priority Critical patent/CN112463348B/zh
Publication of CN112463348A publication Critical patent/CN112463348A/zh
Application granted granted Critical
Publication of CN112463348B publication Critical patent/CN112463348B/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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Abstract

本发明公开了一种定时任务处理方法及装置,包括:定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁;设置每个定时任务的执行条件;当系统启动后,遍历所有定时任务;针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中,具有相同标识锁的定时任务中只有一个定时任务能够获取到互斥锁。由此,通过获取互斥锁的方式,避免了存在联系的定时任务出现执行混乱的问题,并且,也无需为每一个定时任务设置程序,避免出现冗余程序的问题。

Description

一种定时任务处理方法及装置
技术领域
本发明涉及数据处理领域,尤其涉及一种定时任务处理方法及装置。
背景技术
定时任务一般指在服务器上周期性定时执行的一段程序,日常业务实现过程中,有大量需要使用定时任务的场景,如:定时清理过期数据,节省不必要的存储空间;定时发送通知给用户提醒重要事项;定时收集服务器和交换机信息方便资产管理;定时收集ip和mac地址信息方便网络管理等等。
当前的操作系统中对定时任务的处理,通常是对每个定时任务单独处理的,但是当定时任务之间存在联系的情况下,例如定时任务之间存在先后的执行顺序,或者对于一些具有资源竞争的定时任务,若每个任务均是单独处理的,那么很有可能出现定时任务执行混乱的问题,例如定时任务的执行顺序发生混乱或者具有资源竞争的定时任务同时执行。并且,若通过程序的方式处理存在联系的定时任务,程序复杂也会非常的冗余。
发明内容
有鉴于此,本发明实施例公开了一种定时任务的处理方法,免了存在联系的定时任务出现执行混乱的问题,并且,也无需为每一个定时任务设置程序,避免出现冗余程序的问题。
本发明实施例公开了一种定时任务的处理方法,包括:
定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁;
设置每个定时任务的执行条件;
当系统启动后,遍历所有定时任务;
针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中,具有相同标识锁的定时任务中只有一个定时任务能够获取到互斥锁。
可选的,还包括:
在执行所述定时任务的子进程中,获取互斥锁;
若未能获取到互斥锁,且未接收到任务停止的指令时,再次获取互斥锁;
若获取到互斥锁,则在所述子进程中执行所述任务。
可选的,还包括:
当定时任务在子进程上执行的过程中,检测定时任务是否出现了预设的错误信息;
若出现了错误信息,则确定所述定时任务执行失败;
将任务执行失败的信息发送给预设的用户。
可选的,还包括:
检测每一个定时任务的执行时间是否超过了预设的时间阈值;
针对任意一个定时任务,若该定时任务的执行时间超过了预设的时间阈值,则停止执行该定时任务;
在遍历完所有的定时任务后,删除执行超时的定时任务的子进程。
可选的,还包括:
监听是否接收到定时任务停止信号;
当监听到定时任务停止信号时,则停止执行新的定时任务,并在存在正在执行定时任务的情况下,等待正在执行的定时任务执行结束。
可选的,还包括:
在定时任务执行完成或者定时任务执行失败的情况下,按照预设的时间格式存储所述定时任务的执行时间;所述预设的时间格式设置在所述定时任务类中。
本发明实施例还公开了一种定时任务的处理装置,包括:
定时单元,用于定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁;
设置单元,用于设置每个定时任务的执行条件;遍历单元,用于当系统启动后,遍历所有的定时任务;
定时任务执行单元,用于针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中,具有相同标识锁的定时任务中只有一个定时任务能够获取到互斥锁。
可选的,还包括:
第一获取单元,用于在执行所述定时任务的子进程中,获取互斥锁;
第二获取单元,用于若未能获取到互斥锁,且未接收到任务停止的指令时,再次获取互斥锁;
定时任务执行单元,用于若获取到互斥锁,则在所述子进程中执行所述任务。
可选的,还包括:
第一检测单元,用于当定时任务在子进程执行的过程中,检测定时任务是否出现了预设的错误信息;
确定单元,用于若出现了错误信息,则确定所述定时任务执行失败;
发送单元,用于将任务执行失败的信息发送给预设的用户。
本发明实施例还公开了一种电子设备,包括:
存储器和处理器;
所述存储器用于存储程序;
所述处理器用于在执行所述程序时执行上述公开的定时任务的处理方法。
本发明实施例公开了一种定时任务处理方法,包括:定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁;设置每个定时任务的执行条件;当系统启动后,遍历所有定时任务;针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中,具有相同标识锁的定时任务中只有一个定时任务能够获取到互斥锁。由此,通过互斥锁限定定时任务的执行,预先为每个定时任务设置了标识锁,并且设置了互斥锁的获取规则,具有相同标识锁的定时任务不能同时获取到互斥锁,并且只有获取到互斥锁的定时任务能够被执行。由此,避免了存在联系的定时任务出现执行混乱的问题,并且,也无需为每一个定时任务设置程序,避免出现冗余程序的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例公开了一种定时任务的处理方法的流程示意图;
图2示出了本实例提供的主进程的处理流程的示意图;
图3示出了本发明实施例提供的子进程的处理流程的示意图;
图4示出了本发明实施例提供的一种定时任务的处理装置的结构示意图;
图5示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
术语解释:
定时任务:一般指在服务器上周期性定时执行的一段程序。
类:编程语言的一种基础结构,类下面可以定义一系列方法,类可以被继承,被继承的类被称为父类,继承后的类被称为子类,子类可以使用父类的方法,也可重写父类的部分方法从而实现不同的功能。
进程:指系统中运行的程序,通常一个软件启动后的第一个进程被称为主进程,随后软件可以通过主进程启动多个子进程,主进程一般可对子进程进行管理。
Linux:Linux是一种免费使用和自由传播的类UNIX操作系统,在服务器领域大量使用。
参考图1,示出了本发明实施例公开了一种定时任务的处理方法的流程示意图,在本实施例中,该方法包括:
S101:定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁信息;
本实施例中,定时任务的标识锁,用于指示定时任务之间的关系,例如,具有相同标识锁的定时任务,不能同时执行。
S102:设置每个定时任务的执行条件;
本实施例中,每个定时任务需要预先设置执行条件,在启动定时任务后,在满足执行条件的情况下,才执行定时任务。
S103:当系统启动后,遍历所有的定时任务;
本实施例中,这里的系统指的是操作系统,例如,Linux系统。
其中,在系统启动前,有的系统需要启动文件来执行,若包括启动文件的情况下,将定时任务类导入到启动文件中。
S104:针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中具有相同标识锁的定时任务只有一个定时任务能够获取到互斥锁;
本实施例中,在遍历定时任务时,定与遍历到的任何一个定时任务,检测定时任务的执行条件,并判断当前是否达到了定时任务的执行条件,若达到了执行条件,则获取互斥锁,若能获取到互斥锁,则表示定时任务能够执行,那么在定时任务获取到互斥锁后,则执行该定时任务。
通过上述可知,在遍历到每个定时任务时,若该定时任务达到了执行条件,那么为该定时任务创建一个子进程,并在创建的子进程中执行该定时任务。具体的,在创建了定时任务后,还包括:
在执行所述定时任务的子进程中,获取互斥锁;
若未能获取到互斥锁,且未接收到定时任务停止的指令时,再次获取互斥锁;
若获取到互斥锁,则在所述子进程中执行所述任务。
由此可知,在创建了子进程后,则在该子进程中执行定时任务的执行流程,包括:尝试获取互斥锁,若能够获取到互斥锁,则执行该任务,若未能获取到该互斥锁,则再次尝试获取互斥锁。
也就是说,当达到了定时任务的执行条件后,则不断的尝试获取互斥锁,直到获取到该互斥锁,当获取到互斥锁后,则执行该定时任务。
但是,对于一直未获取到互斥锁的子进程,若该子进程一直这样执行下去,就进入了一个死循环,不仅占用了系统资源,并且,若不能及时清理这样的任务,当卡主的定时任务越来越多时,甚至会拖垮操作系统。因此,为了避免这些问题,需要及时的清理掉被卡主的进程,该过程包括:
检测每一个定时任务的执行时间是否超过了每个定时任务相对应的时间阈值;
针对任意一个定时任务,若该定时任务的执行时间超过了预设的时间阈值,则停止执行该定时任务;
在遍历完所有的定时任务后,删除执行超时的定时任务的子进程。
本实施例中,上述清理被卡主的定时任务的子进程的过程,可以由主进程来执行。具体的,主进程对每个子进程的执行时间进行计时,当检测到某个子进程的执行时间超过了预设的时间阈值时,则停止执行该定时任务。
其中,预设的时间阈值是预先设置的,每个子进程对应的时间阈值可以是相同的也可以是不同的。
本实施例中,子进程在执行定时任务的过程中,可能会出现执行错误的情况,现有技术中缺少错误识别的过程,导致无法及时发现执行失败的定时任务,也就无法对执行失败的定时任务进行处理,为了弥补该问题,本实施例中,还包括:
在定时任务在子进程中执行的过程,检测定时任务是否出现了预设的错误信息;
若出现了错误信息,则确定所述定时任务执行失败;
将定时任务执行失败的信息发送给预设的用户。
本实施例中,定时任务在子进程中执行的过程中,子进程检测定时任务是否出现了预设的错误信息,若出现了错误信息,则确定所述定时任务执行事变,并将该定时任务执行失败的信息发送给预设的用户。
本实施例中,预先设置了用户的通信方式,例如通过邮件的方式或者通过短信的方式向用户发送定时任务执行失败的信息。
本实施例中,通过互斥锁限定定时任务的执行,预先为每个定时任务设置了标识锁,并且设置了互斥锁的获取规则,具有相同标识锁的定时任务不能同时获取到互斥锁,并且只有获取到互斥锁的定时任务能够被执行。由此,避免了存在联系的定时任务出现执行混乱的问题,并且,也无需为每一个定时任务设置程序,避免出现冗余程序的问题。
进一步的,在定义的任务类中,预先设置存储的时间格式,并在定时任务执行完成或者定时任务执行失败的情况下,按照预设的时间格式存储所述定时任务的执行时间。
其中,对于存储定时任务的执行时间的过程,可以在执行定时任务的子进程中执行。
进一步的,不断监听系统信号,当监听到定时任务停止的信号时,则停止执行新的定时任务,并在包含正在执行定时任务的情况下,等待正在执行的定时任务执行结束。
本实施例中,为了进一步的保障定时任务的执行,同时保障各个定时任务之间不相互影响,采用主进程和在子进程的方式执行定时任务的处理流程:具体的:
参考图2,示出了主进程的处理流程的示意图,包括:
S201:当系统启动后,遍历所有的定时任务;
S202:针对每个定时任务,检测该定时任务是否达到了执行条件;
S203:若达到了执行条件,则创建子进程,以在该子进程中执行该定时任务;
若未达到执行条件,则遍历下一个定时任务。
S204:检测每一个定时任务的执行时间是否超过了预设的时间阈值;
S205:针对任意一个定时任务,若该定时任务的执行时间超过了预设的时间阈值,则停止执行该定时任务;
S206:在遍历完所有的定时任务后,删除执行超时的定时任务的子进程。
S207:监听是否接收到任务的停止信号;
S208:当监听到定时任务停止的信号时,则停止执行新的定时任务,并在包含正在执行定时任务的情况下,等待正在执行的定时任务执行结束。
参考图3,示出了本发明实施例提供的子进程的处理流程的示意图,在本实施例中,包括:
S301:在执行所述定时任务的子进程中,获取互斥锁;
S302:判断是否获取到互斥锁;
S303:若未能获取到互斥锁,且未接收到任务停止的指令时,再次获取互斥锁;
S304:若获取到互斥锁,则在所述子进程中执行所述任务。
S305:检测定时任务是否执行成功;
S306:若定时任务执行成功,则将定时任务的执行时间进行存储;
S307:若定时任务执行失败,则将定时任务的执行时间进行存储,并将定时任务执行失败的信息发送给预设的用户。
本实施例中,通过主进程和子进程分开执行的过程,保障定时任务的执行,同时保障各个定时任务之间不相互影响。并且,通过互斥锁限定定时任务的执行,预先为每个定时任务设置了标识锁,并且设置了互斥锁的获取规则,具有相同标识锁的定时任务不能同时获取到互斥锁,并且只有获取到互斥锁的定时任务能够被执行。由此,实现了对于存在联系的定时任务,不会出现同时争夺资源或者出现执行混乱的问题。并且,也无需为每一个定时任务设置程序,避免出现冗余程序的问题。
参考图4,示出了本发明实施例提供的一种定时任务的处理装置的结构示意图,在本实施例中,该装置包括:
定时单元401,用于定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁;
设置单元402,用于设置每个定时任务的执行条件;
遍历单元403,用于当系统启动后,遍历所有的定时任务;
定时任务执行单元404,用于针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中,具有相同标识锁的定时任务中只有一个定时任务能够获取到互斥锁。
可选的,还包括:
第一获取单元,用于在执行所述定时任务的子进程中,获取互斥锁;
第二获取单元,用于若未能获取到互斥锁,且未接收到任务停止的指令时,再次获取互斥锁;
定时任务执行单元,用于若获取到互斥锁,则在所述子进程中执行所述任务。
可选的,还包括:
第一检测单元,用于当定时任务在子进程上执行的过程中,检测定时任务是否出现了预设的错误信息;
确定单元,用于若出现了错误信息,则确定所述定时任务执行失败;
发送单元,用于将任务执行失败的信息发送给预设的用户。
可选的,还包括:
第二检测单元,用于检测每一个定时任务的执行时间是否超过了预设的时间阈值;
定时任务停止执行单元,用于针对任意一个定时任务,若该定时任务的执行时间超过了预设的时间阈值,则停止执行该定时任务;
定时任务删除单元,用于在遍历完所有的定时任务后,删除执行超时的定时任务进程。
可选的,还包括:
监听单元,用于监听是否接收到定时任务停止信号;
结束单元,用于当监听到定时任务停止信号时,则停止执行新的定时任务,并在存在正在执行定时任务的情况下,等待正在执行的定时任务执行结束。
可选的,还包括:
时间存储单元,用于在定时任务执行完成或者定时任务执行失败的情况下,按照预设的时间格式存储所述定时任务的执行时间;所述预设的时间格式设置在所述定时任务类中。
本实施例的装置,通过互斥锁限定定时任务的执行,预先为每个定时任务设置了标识锁,并且设置了互斥锁的获取规则,具有相同标识锁的定时任务不能同时获取到互斥锁,并且只有获取到互斥锁的定时任务能够被执行。由此,避免了存在联系的定时任务出现执行混乱的问题,并且,也无需为每一个定时任务设置程序,避免出现冗余程序的问题。
参考图5,示出了本发明实施例提供的一种电子设备的结构示意图,在本实施例中,该电子设备包括:
存储器501和处理器502;
所述存储器501用于存储程序;
所述处理器502用于在执行所述程序时执行如下所述的定时任务的处理方法:
定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁;
设置每个定时任务的执行条件;
当系统启动后,遍历所有定时任务;
针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中,具有相同标识锁的定时任务中只有一个定时任务能够获取到互斥锁。
可选的,还包括:
在执行所述定时任务的子进程中,获取互斥锁;
若未能获取到互斥锁,且未接收到任务停止的指令时,再次获取互斥锁;
若获取到互斥锁,则在所述子进程中执行所述任务。
可选的,还包括:
在定时任务在子进程中执行的过程,检测定时任务是否出现了预设的错误信息;
若出现了错误信息,则确定所述定时任务执行失败;
将任务执行失败的信息发送给预设的用户。
可选的,还包括:
检测每一个定时任务的执行时间是否超过了预设的时间阈值;
针对任意一个定时任务,若该定时任务的执行时间超过了预设的时间阈值,则停止执行该定时任务;
在遍历完所有的定时任务后,删除执行超时的定时任务进程。
可选的,还包括:
监听是否接收到任务停止信号;
当监听到定时任务停止的信号时,则停止执行新的定时任务,并在包含正在执行定时任务的情况下,等待正在执行的定时任务执行结束。
可选的,还包括:
在定时任务执行完成或者定时任务执行失败的情况下,按照预设的时间格式存储所述定时任务的执行时间;所述预设的时间格式设置在所述定时任务类中。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种定时任务处理方法,其特征在于,包括:
定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁;
设置每个定时任务的执行条件;
当系统启动后,遍历所有定时任务;
针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中,具有相同标识锁的定时任务中只有一个定时任务能够获取到互斥锁;
在执行所述定时任务的子进程中,获取互斥锁;
若未能获取到互斥锁,且未接收到任务停止的指令时,再次获取互斥锁;
若获取到互斥锁,则在所述子进程中执行所述任务。
2.根据权利要求1所述的方法,其特征在于,还包括:
当定时任务在子进程上执行的过程中,检测定时任务是否出现了预设的错误信息;
若出现了错误信息,则确定所述定时任务执行失败;
将任务执行失败的信息发送给预设的用户。
3.根据权利要求1所述的方法,其特征在于,还包括:
检测每一个定时任务的执行时间是否超过了预设的时间阈值;
针对任意一个定时任务,若该定时任务的执行时间超过了预设的时间阈值,则停止执行该定时任务;
在遍历完所有的定时任务后,删除执行超时的定时任务的子进程。
4.根据权利要求1所述的方法,其特征在于,还包括:
监听是否接收到定时任务停止信号;
当监听到定时任务停止信号时,则停止执行新的定时任务,并在存在正在执行定时任务的情况下,等待正在执行的定时任务执行结束。
5.根据权利要求1所述的方法,其特征在于,还包括:
在定时任务执行完成或者定时任务执行失败的情况下,按照预设的时间格式存储所述定时任务的执行时间;所述预设的时间格式设置在所述定时任务类中。
6.一种定时任务处理装置,其特征在于,包括:
定时单元,用于定义定时任务类,并在所述定时任务类上设置定时任务的名称和标识锁;
设置单元,用于设置每个定时任务的执行条件;
遍历单元,用于当系统启动后,遍历所有的定时任务;
定时任务执行单元,用于针对任意一个定时任务,检测是否达到执行条件,在达到执行条件的情况下,创建子进程,并在所述定时任务获取到互斥锁的情况下,在所述子进程中执行所述定时任务;其中,具有相同标识锁的定时任务中只有一个定时任务能够获取到互斥锁;
第一获取单元,用于在执行所述定时任务的子进程中,获取互斥锁;
第二获取单元,用于若未能获取到互斥锁,且未接收到任务停止的指令时,再次获取互斥锁;
定时任务执行单元,用于若获取到互斥锁,则在所述子进程中执行所述任务。
7.根据权利要求6所述的装置,其特征在于,还包括:
第一检测单元,用于当定时任务在子进程上执行的过程中,检测定时任务是否出现了预设的错误信息;
确定单元,用于若出现了错误信息,则确定所述定时任务执行失败;
发送单元,用于将任务执行失败的信息发送给预设的用户。
8.一种电子设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储程序;
所述处理器用于在执行所述程序时执行所述权利要求1-5中任一项所述的定时任务的处理方法。
CN202110111739.XA 2021-01-27 2021-01-27 一种定时任务处理方法及装置 Active CN112463348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110111739.XA CN112463348B (zh) 2021-01-27 2021-01-27 一种定时任务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110111739.XA CN112463348B (zh) 2021-01-27 2021-01-27 一种定时任务处理方法及装置

Publications (2)

Publication Number Publication Date
CN112463348A CN112463348A (zh) 2021-03-09
CN112463348B true CN112463348B (zh) 2021-06-15

Family

ID=74802488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110111739.XA Active CN112463348B (zh) 2021-01-27 2021-01-27 一种定时任务处理方法及装置

Country Status (1)

Country Link
CN (1) CN112463348B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115623518A (zh) * 2022-12-15 2023-01-17 阿里巴巴达摩院(杭州)科技有限公司 任务处理方法、平台、系统、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762911A (zh) * 2018-06-13 2018-11-06 平安科技(深圳)有限公司 定时任务管理方法、装置、计算机设备及存储介质
CN109857533A (zh) * 2019-01-23 2019-06-07 深圳智链物联科技有限公司 一种定时任务调度方法、装置及智能终端
CN111381961A (zh) * 2019-04-09 2020-07-07 深圳市鸿合创新信息技术有限责任公司 一种处理定时任务的方法、装置与电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050257A1 (en) * 2003-08-25 2005-03-03 Alexey Shakula Nested locks to avoid mutex parking
CN106155816B (zh) * 2015-04-22 2019-08-02 Tcl集团股份有限公司 任务的互斥处理方法及装置
CN106201672B (zh) * 2016-06-22 2020-05-12 武汉斗鱼网络科技有限公司 一种定时任务设置系统及其定时任务运行方法
CN110334126B (zh) * 2019-05-23 2024-02-27 平安科技(深圳)有限公司 基于Spring MVC的定时任务处理方法、装置和计算机设备
CN110673943A (zh) * 2019-09-29 2020-01-10 香港乐蜜有限公司 一种定时任务的实现方法、装置、电子设备及存储介质
CN111177164B (zh) * 2019-12-17 2023-08-01 陕西天行健车联网信息技术有限公司 一种基于定时任务框架的车辆实时信息调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762911A (zh) * 2018-06-13 2018-11-06 平安科技(深圳)有限公司 定时任务管理方法、装置、计算机设备及存储介质
CN109857533A (zh) * 2019-01-23 2019-06-07 深圳智链物联科技有限公司 一种定时任务调度方法、装置及智能终端
CN111381961A (zh) * 2019-04-09 2020-07-07 深圳市鸿合创新信息技术有限责任公司 一种处理定时任务的方法、装置与电子设备

Also Published As

Publication number Publication date
CN112463348A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN107491346B (zh) 一种应用的任务处理方法、装置及系统
TW201944236A (zh) 任務處理方法、裝置及系統
CN106533805B (zh) 一种微服务请求处理方法、微服务控制器及微服务架构
CN100373341C (zh) 一种业务进程的分布式分优先级监控方法
CN112769652B (zh) 一种节点服务监控方法、装置、设备及介质
CN112114956A (zh) 一种任务调度方法、装置和系统
CN112463348B (zh) 一种定时任务处理方法及装置
CN109495528B (zh) 分布式锁所有权调度方法和装置
CN111124761B (zh) 一种设备重启方法、装置、设备及介质
CN111949368A (zh) 应用程序控制方法及装置
CN107729207B (zh) 一种应用程序主线程的监控方法及装置
CN111292514A (zh) 一种报警信息的发送方法、装置及电子设备
CN111552567A (zh) 一种线程管理方法、装置、电子设备及存储介质
CN105791534B (zh) 一种手机垃圾的自动清理方法、装置及通信终端
CN114003396A (zh) 一种内核软死锁处理方法、装置、设备及存储介质
CN107547285B (zh) 一种配置信息保存方法及装置
CN112015525A (zh) 任务进程阻塞管理方法
CN115955332A (zh) 认证系统的异常流量过滤方法、装置,及电子设备
CN115658156A (zh) 一种基于linux系统的定时任务实现方法和装置
CN113918407A (zh) 一种管理服务进程的方法、装置及可读存储介质
CN114817057A (zh) 测试线程卡顿的方法及装置、电子设备、存储介质
CN110673942B (zh) 一种云平台的异步进程结束方法、装置及云平台服务器
CN108924013B (zh) 网络流量精确采集方法及装置
CN115809150A (zh) 一种分布式死锁检测方法、装置及电子设备
CN107967181B (zh) 临界区的控制方法及装置

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