CN115904650A - Linux系统下的定时任务监管方法及装置 - Google Patents
Linux系统下的定时任务监管方法及装置 Download PDFInfo
- Publication number
- CN115904650A CN115904650A CN202211313682.2A CN202211313682A CN115904650A CN 115904650 A CN115904650 A CN 115904650A CN 202211313682 A CN202211313682 A CN 202211313682A CN 115904650 A CN115904650 A CN 115904650A
- Authority
- CN
- China
- Prior art keywords
- script
- task
- timing task
- execution
- executed
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种Linux系统下的定时任务监管方法及装置,包括:利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,所述监控点根据定时任务的目的对应设置在所要执行的脚本中;根据所述脚本执行状态对所述定时任务进行管理。本发明能够掌握定时任务执行进度,有效提高脚本执行效率,同时降低系统卡死的风险。
Description
技术领域
本发明涉及计算机系统技术领域,尤其涉及一种Linux系统下的定时任务监管方法及装置。
背景技术
Linux系统中的定时任务是指周期性地执行某一个Shell脚本或Linux命令。目前,通过Crontab技术实现,具体地,通过启动crond进程配置每个时间周期定期检查是否有要执行的任务,若有任务则启动任务,没有对任务进行管理,同时只要有任务就启动。在资源较少的情况下,极易造成脚本执行导致系统卡死问题,且没有执行过程管理,结果不可控。
发明内容
本发明提供一种Linux系统下的定时任务监管方法及装置,用以解决上述问题。
本发明提供一种Linux系统下的定时任务监管方法,包括:
利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,所述监控点根据定时任务的目的对应设置在所要执行的脚本中;
根据所述脚本执行状态对所述定时任务进行管理。
根据本发明提供的一种Linux系统下的定时任务监管方法,所述监控点根据定时任务的目的对应设置在所要执行的脚本中,包括:
根据定时任务的目的,对所要执行的脚本进行修改以实现监控点的设置,修改后的脚本用以返回脚本执行状态以及执行定时任务。
根据本发明提供的一种Linux系统下的定时任务监管方法,所述根据所述脚本执行状态对所述定时任务进行管理,包括:
在所述脚本执行状态表征为定时任务执行失败的情况下,根据所述脚本执行状态确定执行失败的原因是否为意外中断;
在确定执行失败的原因为意外中断的情况下,根据预设的重试次数,对所述脚本进行失败重试。
根据本发明提供的一种Linux系统下的定时任务监管方法,所述根据所述脚本执行状态对所述定时任务进行管理,包括:
根据所述脚本执行状态判断是否存在缓存垃圾;
在存在缓存垃圾的情况下,调用预先配置的子任务对所述缓存垃圾进行清理;其中,所述预先配置的子任务与所述定时任务对应,用于清理缓存垃圾。
根据本发明提供的一种Linux系统下的定时任务监管方法,在所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态之前,该方法还包括:
从定时任务相关的配置文件或数据库中获取所述定时任务的配置信息,根据所述配置信息创建定时任务。
根据本发明提供的一种Linux系统下的定时任务监管方法,所述从定时任务相关的配置文件或数据库中获取所述定时任务的配置信息,根据所述配置信息创建定时任务,包括:
每隔预定的时间间隔,对所述配置文件或数据库进行扫描,获取新的配置信息,根据所述新的配置信息创建新的定时任务;或
每隔预定的时间间隔,对所述配置文件或数据库进行扫描,获取修改后的配置信息,根据所述修改后的配置信息更新所述定时任务。
根据本发明提供的一种Linux系统下的定时任务监管方法,所述配置文件至少包括定时任务的名称以及定时任务所要执行的脚本所在路径;
相应地,所述对所述配置文件或数据库进行扫描,包括:
判断所述定时任务的名称是否合法;
判断所述定时任务所要执行的脚本所在路径是否存在;
在定时任务的名称合法且定时任务所要执行的脚本所在路径存在的情况下,获取相应的新的配置信息或修改后的配置信息。
根据本发明提供的一种Linux系统下的定时任务监管方法,在所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态之前,该方法还包括:
将创建好的定时任务添加至定时任务队列中进行排队;
在当前时刻为所述创建好的定时任务的执行时间的情况下,根据所述创建好的定时任务创建执行任务,并将创建好的执行任务添加至执行队列;
判断系统可用资源是否满足执行所述执行队列中所有执行任务时所需的资源;
相应地,所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,包括:
在系统可用资源满足执行所述执行队列中所有执行任务时所需的资源的情况下,对所述执行任务对应的脚本进行执行,并通过预先设置在脚本中的监控点获取脚本执行状态;
其中,所述系统可用资源满足执行定时任务所需的资源为系统正在执行的脚本数小于中央处理器的核数以及系统内存占用率低于预设的阈值。
根据本发明提供的一种Linux系统下的定时任务监管方法,在所述判断系统可用资源是否满足执行所述执行队列中所有执行任务时所需的资源之后,该方法还包括:
在系统可用资源不满足执行所述执行队列中所有执行任务时所需的资源的情况下,所述执行队列等待资源分配与系统调度。
本发明还提供一种Linux系统下的定时任务监管装置,包括:
状态获取模块,用于利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,所述监控点根据定时任务的目的对应设置在所要执行的脚本中;
任务管理模块,用于根据所述脚本执行状态对所述定时任务进行管理。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种Linux系统下的定时任务监管方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一种Linux系统下的定时任务监管方法。
本发明提供的Linux系统下的定时任务监管方法及装置,通过预先设置的监控点获取脚本执行状态,从而能够掌握定时任务执行进度;并根据所述脚本执行状态对所述定时任务进行管理,从而有效提高脚本执行效率,同时降低系统卡死风险。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的Linux系统下的定时任务监管方法的流程示意图;
图2为本发明实施例提供的Linux系统下的定时任务监管装置结构示意图;
图3为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的Linux系统下的定时任务监管方法的流程示意图;如图1所示,该Linux系统下的定时任务监管方法,包括:
S101,利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,所述监控点根据定时任务的目的对应设置在所要执行的脚本中。
S102,根据所述脚本执行状态对所述定时任务进行管理。
在本实施例中,需要事先在周期性执行的Shell脚本或Linux命令中设置监控点,也即根据定时任务的目的对定时任务原本所要执行的脚本进行修改,使得修改后的脚本不仅能够执行定时任务,还能够对脚本的执行状态进行反馈。需要说明的是,监控点可以在任意脚本或命令执行处监控,通过放开对监控点的限制可以增加系统对于脚本运行过程的控制能力。
在预设好监控点之后,每次周期性执行定时任务对应的Shell脚本或Linux命令时,预设的监控点均会监测每次的执行状态。在获得脚本执行状态之后,对定时任务进行管理。具体可以是,对执行成功的定时任务不进行处理;对执行失败的定时任务则确定失败原因,进行重试,并对执行失败后造成的缓存垃圾进行清理。
本发明实施例提供的Linux系统下的定时任务监管方法,通过预先设置的监控点获取脚本执行状态,从而能够掌握定时任务执行进度;并根据所述脚本执行状态对所述定时任务进行管理,从而有效提高脚本执行效率,同时降低系统卡死风险。
进一步地,所述监控点根据定时任务的目的对应设置在所要执行的脚本中,包括:
根据定时任务的目的,对所要执行的脚本进行修改以实现监控点的设置,修改后的脚本用以返回脚本执行状态以及执行定时任务。
举例来说,在定时任务的目的为文件下载时,对文件下载对应的脚本进行修改,使得修改后的脚本能够检测得到文件是否下载成功;在定时任务的目的为垃圾清理时,对垃圾清理对应的脚本进行修改,使得修改后的脚本能够检测得到垃圾文件是否被清理;在定时任务的目的为es数据入库时,对es数据入库对应的脚本进行修改,使得修改后的脚本能够检测返回值是否正常,返回值是否为0。
综上,对定时任务所要执行的脚本进行修改,即为监控点设置。在设置为监控点之后,在周期性执行对应的脚本时,监控点将获取对应定时任务执行过程中返回的信息,从而便于掌控定时任务的执行状态。
具体地,可以采用在JVM执行命令时通过触发的SecurityManager的checkExec方法在脚本中添加监控点。
另外,本发明中的监控点可以自定义设置在任意脚本命令中,放开对监控点的限制可以增加系统对于脚本运行过程的控制能力。
本发明实施例提供的Linux系统下的定时任务监管方法,通过根据定时任务的目的,对所要执行的脚本进行修改以实现监控点的设置,修改后的脚本用以返回脚本执行状态以及执行定时任务,从而掌握定时任务执行进度,便于对定时任务进行管理,有效提高脚本执行效率。
进一步地,所述根据所述脚本执行状态对所述定时任务进行管理,包括:
在所述脚本执行状态表征为定时任务执行失败的情况下,根据所述脚本执行状态确定执行失败的原因是否为意外中断;
在确定执行失败的原因为意外中断的情况下,根据预设的重试次数,对所述脚本进行失败重试。
具体地,脚本执行状态包括定时任务执行成功与执行失败两种情况。在脚本执行状态表征为定时任务执行失败的情况下,则判断失败的原因是否为因网络或者其他外部因素导致的脚本执行意外中断。若确定为意外中断,则通过预先的重试次数,对脚本重新执行,实现定时任务的管理,从而避免由于网速波动、请求的网址短时间崩溃无响应、数据库短时间繁忙等原因导致的执行失败,提高定时任务管理效率。
在脚本执行状态表征为定时任务执行成功的情况下,不对定时任务进行处理。
本发明实施例提供的Linux系统下的定时任务监管方法,通过设置重试次数,从而避免因网络或者其他外部因素导致的脚本执行失败,提升定时任务管理效率。
进一步地,所述根据所述脚本执行状态对所述定时任务进行管理,包括:
根据所述脚本执行状态判断是否存在缓存垃圾;
在存在缓存垃圾的情况下,调用预先配置的子任务对所述缓存垃圾进行清理。
其中,所述预先配置的子任务与所述定时任务对应,需要预先配置,属于定时任务的后续清理脚本,属于定时任务的后续清理脚本,用于清理脚本执行中断后所产生的缓存垃圾,子任务是一种兜底措施。
具体地,当脚本执行状态是脚本执行中断时,会出现缓存垃圾,此时,需要配置垃圾清理子任务来进行兜底,从而防止垃圾堆积。
或者有些定时任务在执行过程中需要改变系统状态,在执行完毕时需要恢复到原来的系统状态,但是脚本执行状态是脚本执行中断,则此时也需要预先配置的用于恢复系统状态的子任务来进行兜底恢复。
本发明实施例提供的Linux系统下的定时任务监管方法,通过设置与定时任务配套的子任务来对脚本执行失败所产生的缓存垃圾进行自动清理,从而提升定时任务管理效率。
进一步地,在所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态之前,该方法还包括:
从定时任务相关的配置文件或数据库中获取所述定时任务的配置信息,根据所述配置信息创建定时任务。
在本实施例中,Linux系统中的任务调度系统中具有用户自行规定的配置文件,该配置文件包含了定时任务名称、定时任务要执行的脚本所在路径、任务执行频率等等定时任务相关信息。通过定时任务的名称从配置文件中获取与定时任务相关的配置信息。
若任务调度系统启动时配置了对应的定时任务数据库(例如MySQL数据库或SQLite数据库),则从定时任务数据库的指定列表中读取与定时任务相关的配置信息。
进一步地,所述从定时任务相关的配置文件或数据库中获取所述定时任务的配置信息,根据所述配置信息创建定时任务,包括:
每隔预定的时间间隔,对所述配置文件或数据库进行扫描,获取新的配置信息,根据所述新的配置信息创建新的定时任务。或
每隔预定的时间间隔,对所述配置文件或数据库进行扫描,获取修改后的配置信息,根据所述修改后的配置信息更新所述定时任务。
具体地,在任务调度系统运行过程中,用户可以随时修改配置文件中的信息,可以在配置文件中新增定时任务或者是对已有的定时任务进行修改。任务调度系统会每隔预定的时间间隔对配置文件进行扫描,若发现新的定时任务对应的的配置信息,则会自动创建新的定时任务。若扫描发现已有的定时任务对应的配置信息发生了修改,则对已创建的定时任务进行更新,无需重新启动任务调度系统。
另外,创建定时任务不会修改脚本,是在任务调度系统的Java程序里创建了一个Java的Object类型对象。
任务调度系统在对配置文件进行扫描时,可以同时获取多个定时任务的配置信息,从而创建多个定时任务。
本发明实施例提供的Linux系统下的定时任务监管方法,通过每隔预定的时间间隔对配置文件进行扫描,从而能够实现定时任务的动态创建与修改,且中间不需要重新启动任务调度系统,从而提升了定时任务的管理效率。
进一步地,所述配置文件至少包括定时任务的名称以及定时任务所要执行的脚本所在路径。
相应地,所述对所述配置文件或数据库进行扫描,包括:
判断所述定时任务的名称是否合法。
判断所述定时任务所要执行的脚本所在路径是否存在。
在定时任务的名称合法且定时任务所要执行的脚本所在路径存在的情况下,获取相应的新的配置信息或修改后的配置信息。
具体地,配置文件中包含定时任务名称、定时任务要执行的脚本所在路径、任务执行频率等等相关信息,任务调度系统在扫描上述相关信息时,会对这些信息进行合法性校验,判断名称是否合法、格式是否正确,路径和脚本是否存在等,在合法性校验通过之后才反馈出对应的配置信息,从而用于创建定时任务。
需要说明的是,定时任务的创建过程具体是根据配置信息中定时任务要执行的脚本所在路径,从而匹配到对应路径下的Linux脚本,进而定时任务创建。
进一步地,在所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态之前,该方法还包括:
将创建好的定时任务添加至定时任务队列中进行排队。
在当前时刻为所述创建好的定时任务的执行时间的情况下,根据所述创建好的定时任务创建执行任务,并将创建好的执行任务添加至执行队列。
具体地,任务调度系统中有两个队列,一个是定时任务队列,一个是执行队列。其中,定时任务队列用于定时任务到了要执行的时间就创建执行任务放到执行队列,执行队列则是用于执行定时任务对应的脚本。
判断系统可用资源是否满足执行所述执行队列中所有执行任务时所需的资源。
具体地,执行队列在执行前需要判断系统现有的可用资源是否满足执行需求,若满足则执行对应的脚本,若不满足则需要等待资源分配与系统调度,以保证系统不会出现资源用尽卡死的风险。
相应地,所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,包括:
在系统可用资源满足执行所述执行队列中所有执行任务时所需的资源的情况下,对所述执行任务对应的脚本进行执行,并通过预先设置在脚本中的监控点获取脚本执行状态。
其中,所述系统可用资源满足执行定时任务所需的资源为系统正在执行的脚本数小于中央处理器的核数以及系统内存占用率低于预设的阈值。
在本实施例中,系统可用资源满足执行定时任务所需的资源具体为限制正在执行任务数小于CPU核数且内存占用低于80%。
需要说明的是,任务调度系统可以同时执行多个定时任务,因为Java是可以多线程的,每个线程执行各自的定时任务并监控脚本执行状态,互相之间独立不影响。
本发明实施例提供的Linux系统下的定时任务监管方法,通过对满足执行定时任务所需的资源的具体限定来保证系统的正常运行,防止出现卡死的风险。
进一步地,在所述判断系统可用资源是否满足执行所述执行队列中所有执行任务时所需的资源之后,该方法还包括:
在系统可用资源不满足执行所述执行队列中所有执行任务时所需的资源的情况下,所述执行队列等待资源分配与系统调度。
在本实施例中,若正在执行任务数超过CPU核数或者内存占用超过80%,则执行队列中的执行任务需要等待,在监控点反馈的脚本执行状态为执行成功时,进一步判断系统可用资源是否满足执行队列执行的条件,若满足则通过任务调度系统对执行任务进行调度与资源分配。
本发明实施例提供的Linux系统下的定时任务监管方法,在系统可用资源不满足执行所述执行队列中所有执行任务时所需的资源的情况下,令执行队列等待资源分配与系统调度,从而保证系统的正常运行,防止卡死风险。
下面对本发明提供的Linux系统下的定时任务监管装置进行描述,下文描述的Linux系统下的定时任务监管装置与上文描述的Linux系统下的定时任务监管方法可相互对应参照。
图2为本发明实施例提供的Linux系统下的定时任务监管装置结构示意图,如图2所示,一种Linux系统下的定时任务监管装置,包括:
状态获取模块201,利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,所述监控点根据定时任务的目的对应设置在所要执行的脚本中。
任务管理模块202,根据所述脚本执行状态对所述定时任务进行管理。
在本实施例中,需要事先在周期性执行的Shell脚本或Linux命令中设置监控点,也即根据定时任务的目的对定时任务原本所要执行的脚本进行修改,使得修改后的脚本不仅能够执行定时任务,还能够对脚本的执行状态进行反馈。需要说明的是,监控点可以在任意脚本或命令执行处监控,通过放开对监控点的限制可以增加系统对于脚本运行过程的控制能力。
在预设好监控点之后,每次周期性执行定时任务对应的Shell脚本或Linux命令时,预设的监控点均会监测每次的执行状态。在获得脚本执行状态之后,对定时任务进行管理。具体可以是,对执行成功的定时任务不进行处理;对执行失败的定时任务则确定失败原因,进行重试,并对执行失败后造成的缓存垃圾进行清理。
本发明实施例提供的Linux系统下的定时任务监管装置,通过预先设置的监控点获取脚本执行状态,从而能够掌握定时任务执行进度;并根据所述脚本执行状态对所述定时任务进行管理,从而有效提高脚本执行效率,同时降低系统卡死风险。
图3为本发明实施例提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行Linux系统下的定时任务监管方法,所述Linux系统下的定时任务监管方法,包括:从定时任务相关的配置文件或数据库中获取所述定时任务的配置信息,根据所述配置信息创建定时任务;在定时任务所要执行的脚本中设置监控点,所述监控点用于监控定时任务的脚本执行状态;在系统可用资源满足执行定时任务所需的资源的情况下,执行所述定时任务,并通过所述监控点获取脚本执行状态;在所述脚本执行状态为执行失败的情况下,根据所述脚本执行状态对所述定时任务进行管理。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述个方法所提供的Linux系统下的定时任务监管方法,所述Linux系统下的定时任务监管方法,包括:从定时任务相关的配置文件或数据库中获取所述定时任务的配置信息,根据所述配置信息创建定时任务;在定时任务所要执行的脚本中设置监控点,所述监控点用于监控定时任务的脚本执行状态;在系统可用资源满足执行定时任务所需的资源的情况下,执行所述定时任务,并通过所述监控点获取脚本执行状态;在所述脚本执行状态为执行失败的情况下,根据所述脚本执行状态对所述定时任务进行管理。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种Linux系统下的定时任务监管方法,其特征在于,包括:
利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,所述监控点根据定时任务的目的对应设置在所要执行的脚本中;
根据所述脚本执行状态对所述定时任务进行管理。
2.根据权利要求1所述的Linux系统下的定时任务监管方法,其特征在于,所述监控点根据定时任务的目的对应设置在所要执行的脚本中,包括:
根据定时任务的目的,对所要执行的脚本进行修改以实现监控点的设置,修改后的脚本用以返回脚本执行状态以及执行定时任务。
3.根据权利要求1所述的Linux系统下的定时任务监管方法,其特征在于,所述根据所述脚本执行状态对所述定时任务进行管理,包括:
在所述脚本执行状态表征为定时任务执行失败的情况下,根据所述脚本执行状态确定执行失败的原因是否为意外中断;
在确定执行失败的原因为意外中断的情况下,根据预设的重试次数,对所述脚本进行失败重试。
4.根据权利要求1所述的Linux系统下的定时任务监管方法,其特征在于,所述根据所述脚本执行状态对所述定时任务进行管理,包括:
根据所述脚本执行状态判断是否存在缓存垃圾;
在存在缓存垃圾的情况下,调用预先配置的子任务对所述缓存垃圾进行清理;其中,所述预先配置的子任务与所述定时任务对应,用于清理缓存垃圾。
5.根据权利要求1所述的Linux系统下的定时任务监管方法,其特征在于,在所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态之前,该方法还包括:
从定时任务相关的配置文件或数据库中获取所述定时任务的配置信息,根据所述配置信息创建定时任务。
6.根据权利要求5所述的Linux系统下的定时任务监管方法,其特征在于,所述从定时任务相关的配置文件或数据库中获取所述定时任务的配置信息,根据所述配置信息创建定时任务,包括:
每隔预定的时间间隔,对所述配置文件或数据库进行扫描,获取新的配置信息,根据所述新的配置信息创建新的定时任务;或
每隔预定的时间间隔,对所述配置文件或数据库进行扫描,获取修改后的配置信息,根据所述修改后的配置信息更新所述定时任务。
7.根据权利要求6所述的Linux系统下的定时任务监管方法,其特征在于,所述配置文件至少包括定时任务的名称以及定时任务所要执行的脚本所在路径;
相应地,所述对所述配置文件或数据库进行扫描,包括:
判断所述定时任务的名称是否合法;
判断所述定时任务所要执行的脚本所在路径是否存在;
在定时任务的名称合法且定时任务所要执行的脚本所在路径存在的情况下,获取相应的新的配置信息或修改后的配置信息。
8.根据权利要求1所述的Linux系统下的定时任务监管方法,其特征在于,在所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态之前,该方法还包括:
将创建好的定时任务添加至定时任务队列中进行排队;
在当前时刻为所述创建好的定时任务的执行时间的情况下,根据所述创建好的定时任务创建执行任务,并将创建好的执行任务添加至执行队列;
判断系统可用资源是否满足执行所述执行队列中所有执行任务时所需的资源;
相应地,所述利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,包括:
在系统可用资源满足执行所述执行队列中所有执行任务时所需的资源的情况下,对所述执行任务对应的脚本进行执行,并通过预先设置在脚本中的监控点获取脚本执行状态;
其中,所述系统可用资源满足执行定时任务所需的资源为系统正在执行的脚本数小于中央处理器的核数以及系统内存占用率低于预设的阈值。
9.根据权利要求8所述的Linux系统下的定时任务监管方法,其特征在于,在所述判断系统可用资源是否满足执行所述执行队列中所有执行任务时所需的资源之后,该方法还包括:
在系统可用资源不满足执行所述执行队列中所有执行任务时所需的资源的情况下,所述执行队列等待资源分配与系统调度。
10.一种Linux系统下的定时任务监管装置,其特征在于,包括:
状态获取模块,用于利用定时任务所要执行的脚本中预先设置的监控点获取脚本执行状态,所述监控点根据定时任务的目的对应设置在所要执行的脚本中;
任务管理模块,用于根据所述脚本执行状态对所述定时任务进行管理。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任一项所述Linux系统下的定时任务监管方法。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述Linux系统下的定时任务监管方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211313682.2A CN115904650A (zh) | 2022-10-25 | 2022-10-25 | Linux系统下的定时任务监管方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211313682.2A CN115904650A (zh) | 2022-10-25 | 2022-10-25 | Linux系统下的定时任务监管方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904650A true CN115904650A (zh) | 2023-04-04 |
Family
ID=86486334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211313682.2A Pending CN115904650A (zh) | 2022-10-25 | 2022-10-25 | Linux系统下的定时任务监管方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904650A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155883A (zh) * | 2023-10-31 | 2023-12-01 | 国网湖北省电力有限公司电力科学研究院 | 一种实现报文定时发送的tsn网卡装置、方法及介质 |
-
2022
- 2022-10-25 CN CN202211313682.2A patent/CN115904650A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155883A (zh) * | 2023-10-31 | 2023-12-01 | 国网湖北省电力有限公司电力科学研究院 | 一种实现报文定时发送的tsn网卡装置、方法及介质 |
CN117155883B (zh) * | 2023-10-31 | 2024-01-30 | 国网湖北省电力有限公司电力科学研究院 | 一种实现报文定时发送的tsn网卡装置、方法及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000455B (zh) | 一种多线程任务处理方法、装置及电子设备 | |
CN111782360A (zh) | 分布式任务调度方法及装置 | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN109710416B (zh) | 资源调度方法及装置 | |
CN110109741B (zh) | 循环任务的管理方法、装置、电子设备及存储介质 | |
WO2017193964A1 (zh) | 一种组件升级方法、装置和系统 | |
WO2023115931A1 (zh) | 大数据组件参数调整方法、装置、电子设备及存储介质 | |
CN110543359A (zh) | 一种任务队列运行装置 | |
CN115904650A (zh) | Linux系统下的定时任务监管方法及装置 | |
CN107688489B (zh) | 一种调度任务的方法和系统 | |
CN115617497B (zh) | 线程处理方法、调度组件、监测组件、服务器和存储介质 | |
US9128754B2 (en) | Resource starvation management in a computer system | |
CN115129455A (zh) | 一种共享资源访问的方法、装置、服务器及介质 | |
CN111538585A (zh) | 一种基于node.js的服务器进程调度方法、系统和装置 | |
CN114564281A (zh) | 容器调度方法、装置、设备及存储介质 | |
CN110196749B (zh) | 虚拟机的恢复方法及装置、存储介质及电子装置 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN110175078B (zh) | 业务处理方法及装置 | |
CN109558254B (zh) | 异步回调方法、系统、装置及计算机可读存储介质 | |
CN111857987A (zh) | 一种基于icm的异常任务处理方法及装置 | |
CN111767122A (zh) | 分布式任务调度管理方法和装置 | |
CN111158896A (zh) | 一种分布式进程调度方法及系统 | |
CN114756356A (zh) | 任务处理方法、工作节点设备、主节点设备及存储介质 | |
CN113342511A (zh) | 一种分布式任务管理系统及方法 | |
CN113342499A (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 |