定时任务的脚本执行方法及装置与流程

未命名 08-29 阅读:75 评论:0


1.本技术涉及计算机领域,尤其涉及定时任务的脚本执行方法与装置。


背景技术:

2.定时任务的任务内容可以利用脚本来实现,此类脚本也可以称为定时任务脚本。通常来说,需要执行定时任务脚本的业务场景越多,定时任务的脚本的管理也越复杂,在数据量较大的场景下,定时任务脚本的执行时间有可能超过了预设的执行时长,影响业务的正常开展。
3.相关技术中,在定时任务脚本的执行时间超过预设执行时长的情况下,并没有方法及时发现,缺少对执行时长超过预期的定时任务的脚本进行自动停止处理的方法,只能依赖人工完成对超长执行的脚本的查找和停止处理。由于人工针对异常情况的处理容易不及时,故而导致中央处理器(central processing unit,cpu)资源的占用过多的同时,还可以导致较高的事故发生率等很多问题。故而,及时地对执行时长超过预设时长的定时任务的脚本的监控和处理成为了需要解决的问题。


技术实现要素:

4.本技术旨在至少在一定程度上解决相关技术中的技术问题之一。
5.为此,本技术第一方面提出一种定时任务的脚本执行方法。
6.本技术第二方面提出一种定时任务的脚本执行装置。
7.本技术第三方面提出一种电子设备。
8.本技术第四方面提出一种计算机可读存储介质。
9.本技术第一方面提出的定时任务的脚本执行方法,包括:根据定时任务调度组件在linux服务器中执行定时任务的脚本,其中,所述定时任务调度组件基于java编程语言实现;根据所述定时任务调度组件对所述定时任务的脚本进行执行监控,若监控到所述定时任务的脚本的执行时长大于或者等于第一预设时长,则停止所述定时任务的脚本的继续执行。
10.另外,本技术第一方面提出的故定时任务的脚本执行方法,还可以具有如下附加的技术特征:
11.根据本技术的一个实施例,所述根据定时任务调度组件在linux服务器中执行定时任务的脚本,其中,所述定时任务调度组件基于java编程语言实现,包括:根据定时任务调度组件启动任务线程,通过所述任务线程执行所述定时任务的脚本。
12.根据本技术的一个实施例,所述根据所述定时任务调度组件对所述定时任务的脚本进行执行监控,若监控到所述定时任务的脚本的执行时长大于或者等于第一预设时长,则停止所述定时任务的脚本的继续执行,包括:启动监控线程;通过所述监控线程对所述任务线程的执行状态进行监控;若所述执行状态表示所述任务线程未结束且所述执行时长大于或者等于所述第一预设时长,则结束所述任务线程。
13.根据本技术的一个实施例,所述启动监控线程,包括:与所述任务线程的启动时刻间隔预设时间间隔后,启动所述监控线程。
14.根据本技术的一个实施例,所述启动监控线程,包括:使所述监控线程与所述任务线程同步启动。根据本技术的一个实施例,所述的定时任务的脚本执行方法,还包括:在所述监控线程与所述任务线程同步启动时,启动所述任务线程后,休眠所述监控线程至第二预设时长,其中,所述第二预设时长等于所述第一预设时长;响应于所述监控线程的休眠时长到达所述第二预设时长,结束所述监控线程的休眠,并开始对所述任务线程的执行状态进行监控。
15.根据本技术的一个实施例,所述的定时任务的脚本执行方法,还包括:在所述监控线程与所述任务线程同步启动时,从启动时刻开始对所述任务线程的执行状态持续监控。
16.本技术第二方面提出的定时任务的脚本执行装置,包括脚本执行模块,用于根据定时任务调度组件在linux服务器中执行定时任务的脚本,其中,所述定时任务调度组件基于java编程语言实现;监控判定模块,用于根据所述定时任务调度组件对所述定时任务的脚本进行执行监控,若监控到所述定时任务的脚本的执行时长大于或者等于第一预设时长,则停止所述定时任务的脚本的继续执行。
17.另外,本技术第二方面提出的定时任务的脚本执行装置,还可以具有如下附加的技术特征:
18.根据本技术的一个实施例,所述脚本执行模块,包括任务线程启动单元,用于根据定时任务调度组件启动任务线程,通过所述任务线程执行所述定时任务的脚本。
19.根据本技术的一个实施例,所述监控判定模块,包括监控线程启动单元,用于启动监控线程;监控单元,用于通过所述监控线程对所述任务线程的执行状态进行监控;判定单元,用于若所述执行状态表示所述任务线程未结束且所述执行时长大于或者等于所述第一预设时长,则结束所述任务线程。
20.根据本技术的一个实施例,所述监控线程启动单元,进一步用于,与所述任务线程的启动时刻间隔预设时间间隔后,启动所述监控线程。
21.根据本技术的一个实施例,所述监控线程启动单元,进一步用于,与所述任务线程同步启动。根据本技术的一个实施例,所述的定时任务的脚本执行装置,还包括休眠模块,用于在所述监控线程与所述任务线程同步启动时,启动所述任务线程后,休眠所述监控线程至第二预设时长,其中,所述第二预设时长等于所述第一预设时长;唤醒模块,用于响应于所述监控线程的休眠时长到达所述第二预设时长,则结束所述监控线程的休眠,并开始对所述任务线程的执行状态进行监控。
22.根据本技术的一个实施例,所述的定时任务的脚本执行装置,还包括持续监控模块,用于在所述监控线程与所述任务线程同步启动时,从启动时刻开始对所述任务线程的执行状态持续监控。
23.本技术第三方面提出一种电子设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面提出的定时任务的脚本执行方法。
24.本技术第四方面提出一种计算机可读存储介质,其中,所述计算机指令用于使所
述计算机执行根据执行上述第一方面提出的时任务的脚本执行方法。
25.本技术提出的定时任务的脚本执行方法及装置,执行定时任务脚本,同时,对正在执行定时任务的脚本进行执行监控,当监控到定时任务脚本的执行时长大于第一预设时长时,则停止定时任务脚本的继续执行。本技术中,通过对定时任务的脚本执行的监控获取到的脚本执行的时长,与第一预设时长进行比较,进而判断当前脚本执行状态是否需要停止继续执行的处理,使得执行超时的定时任务脚本可以被及时发现并停止,避免了由于人工操作耗时长、无法及时处理等问题导致的事故,强化了执行超时的定时任务脚本处理的及时性,进而提高了定时任务的脚本执行异常的处理效率。
26.应当理解,本技术所描述的内容并非旨在标识本技术的实施例的关键或重要特征,也不用于限制本技术的范围。本技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
27.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
28.图1为本技术一实施例的定时任务脚本执行方法的流程示意图;
29.图2为本技术另一实施例的定时任务脚本执行方法的流程示意图;
30.图3为本技术另一实施例的定时任务脚本执行方法的流程示意图;
31.图4为本技术另一实施例的定时任务脚本执行方法的流程示意图;
32.图5为本技术另一实施例的定时任务脚本执行方法的流程示意图;
33.图6为本技术一实施例的定时任务脚本执行装置的结构示意图;
34.图7为本技术另一实施例的定时任务脚本执行装置的结构示意图;
35.图8为本技术一实施例的电子设备的框图。
具体实施方式
36.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
37.下面参照附图描述本技术实施例的定时任务的脚本执行方法及装置。
38.图1为本技术一实施例的定时任务脚本执行方法的流程示意图,如图1所示,该定时任务的脚本执行方法包括:
39.s101,根据定时任务调度组件在linux服务器中执行定时任务的脚本,其中,定时任务调度组件基于java编程语言实现。
40.脚本,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,可以用来控制软件应用程序,当执行脚本时,计算机会执行一连串的涉及其他应用程序的操作,比如文字处理、电子表格和数据管理程序等等。
41.本技术实施例中,系统需要通过脚本的执行进而实现任务的执行,一般情况下,定时任务需要预先编写好执行脚本,并设置开始执行的时间。当系统时间到达预设的开始执行时间时,定时任务的脚本开始被执行。
42.可选地,执行脚本的系统中存在定时任务调度组件,基于定时任务调度组件,可以
设置脚本的执行时间,并控制脚本执行。其中,定时任务调度组件可以基于设定的语言实现,比如,可以java编程语言。
43.进一步地,脚本可以在设定的服务器环境下执行,比如linux服务器。
44.为了实现定时任务,定时任务调度组件在定时任务到达定时时间后,可以触发定时任务对应的脚本的执行。
45.可选地,可以在系统中设置定时任务的计时器,通过该计时器来触发定时任务的脚本的执行,实现中计时器计时到系统时间到达预设的任务的脚本执行时间时,则可以实现脚本的执行触发,使得系统可以按照预设的规定时间执行定时任务的脚本。
46.s102,根据定时任务调度组件对定时任务的脚本进行执行监控,若监控到定时任务的脚本的执行时长大于或者等于第一预设时长,则停止定时任务的脚本的继续执行。
47.定时任务的脚本执行需要一定的时长,脚本执行结束的时间并非固定。可以通过定时任务调度组件根据脚本正常执行的状态,针对脚本的执行时长进行评估,进而确认该脚本在正常执行状态下的所需耗时的时长范围,并将其中的最大值设定为第一预设时长。
48.本技术实施例中,可以控制定时任务调度组件在定时任务的脚本执行时,针对脚本执行进行监控,进而获取到定时任务的脚本执行的参数信息,其中,参数信息可以包括脚本执行的状态、脚本执行的时长等等。
49.可以将监控获取到的脚本执行的时长与第一预设时长进行比较。
50.可选地,当监控到的定时任务的脚本执行的时长大于第一预设时长时,可以判定,当前执行的定时任务的脚本在执行过程中出现了问题,导致了执行时长的异常情况发生,可以对当前执行的定时任务的脚本进行停止处理。
51.可选地,当监控到的定时任务的脚本执行的时长等于第一预设时长时,可以判断,当前执行的定时任务的脚本可能执行完毕,也可能执行过程出现异常,在该场景下,需要对当前执行的定时任务的脚本进行停止处理。
52.本技术提出的定时任务的脚本执行方法,根据定时任务调度组件在linux服务器中执行定时任务的脚本,并根据定时任务调度组件对定时任务的脚本进行执行监控,当监控到定时任务的执行时长大于或者等于第一预设时长时,对当前执行的定时任务的脚本实行停止处理。本技术中,通过对定时任务的脚本执行的监控获取到的脚本执行的时长,与第一预设时长进行比较,进而判断当前脚本执行状态是否需要停止继续执行的处理,使得执行超时的定时任务脚本可以被及时发现并停止,避免了由于人工操作耗时长、无法及时处理等问题导致的事故,强化了执行超时的定时任务脚本处理的及时性,进而提高了定时任务的脚本执行异常的处理效率。
53.进一步地,可结合图2理解,图2为本技术另一实施例的定时任务脚本执行方法的流程示意图,如图2所示,该定时任务的脚本执行方法包括:
54.s201,根据定时任务调度组件启动任务线程,通过任务线程执行定时任务的脚本。
55.线程,是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
56.本技术实施例中,可以通过定时任务调度组件控制任务线程实现定时任务的脚本的执行。
57.可选地,可以创建线程池,并预先生成有限数量的线程,放入线程池中,线程池中的线程处于休眠状态,可以发送的任务线程启动指令,系统将接收到的任务线程启动指令挂到任务待执行队列中,并唤醒线程,使得任务线程开始执行定时任务的脚本。
58.s202,启动监控线程。
59.实现中,属于同一进程的不同的线程可以共享相同的内存地址空间,故而,同一进程中的不同线程可以访问相同的变量和对象,且在一定场景下,可以实现不同线程之间的信息共享。
60.本技术实施例中,系统可以通过监控线程实现对于定时任务脚本执行状态的监控,进而获取到定时任务脚本执行的相关参数。
61.作为一种可能实现的方式,使监控线程可以与任务线程同步启动。
62.监控线程与任务线程可以同时获取cpu资源,并在相同的时间开始运行,进而实现监控线程与任务线程的同步启动。
63.可选地,可以将任务线程以及监控线程的启动时间,设置成相同的时间,系统将任务线程启动指令与监控线程启动指令同时挂在待执行任务队列中,任务线程开始定时任务的脚本执行的同时,监控线程启动运行,通过多线程执行,实现监控线程与任务线程的同步启动,进而实现对于定时任务脚本执行状态的持续监控。
64.该场景下,监控线程与任务线程同时启动,实现了对于任务线程执行定时任务脚本的执行过程全程的监控,使得定时任务的脚本执行时长得到有效的监控,进一步地,还可以及时发现任务线程执行定时任务的脚本的执行过程中的其他异常状态,实现对于任务线程执行定时任务脚本的执行过程中可能出现的异常情况的全覆盖类型监控,有效提高了定时任务执行过程中的故障处理效率。
65.作为另一种可能实现的方式,可以与任务线程的启动时刻间隔预设时间间隔后,启动监控线程。
66.任务线程可以优先于监控线程启动运行,任务线程开始运行执行定时任务的脚本,间隔设定的间隔时长后,监控线程启动运行。
67.其中,间隔时长可以根据不同的定时任务的脚本执行的时长进行设置,根据正常状态下的定时任务的脚本执行状态,可以获取到脚本执行的所需时长的时长范围,并基于其中最短的脚本执行时长,设置监控线程与任务线程之间的启动间隔时长。该设置的间隔时长小于定时任务脚本执行所需的最短时长。
68.可选地,任务线程启动运行后,监控线程的启动时间为任务线程的启动时间加上设定的间隔时长后获取的时间,当系统的时间到达该监控线程的启动时间时,唤醒线程池中休眠的线程,进而完成监控线程的启动。
69.可选地,任务线程启动运行后,系统可以设置计时功能,进而获取到任务线程启动后的时长,当该时长与预设的时间间隔时长相同时,系统唤醒线程池中休眠的线程,进而完成监控线程的启动。
70.该场景下,监控线程可以有效实现对于任务线程执行定时任务的脚本的执行时长的监控,进而判断当前执行的定时任务的脚本是否需要进行停止处理。进一步地,线程的启动运行需要获取cpu资源,多个线程的同时运行可能造成cpu资源被占用过多,进而影响系统的运行性能。监控线程可以在设定的间隔时长后进行启动运行,在实现监控任务线程执
行定时任务的脚本的执行时长的目的的同时,有效减少了cpu资源的占用。
71.进而实现监控线程对于任务线程脚本执行状态的监控。
72.s203,通监控线程对任务线程的执行状态进行监控。
73.线程是一个动态执行的过程,在线程执行的过程中可以出现多种状态,包括新建状态、就绪状态、运行状态、阻塞状态以及死亡状态。
74.本技术实施例中,可以通过监控线程实现对于任务线程执行状态的监控。
75.可选地,当监控线程与任务线程同步启动时,监控线程可以实现对于任务线程执行定时任务的全部过程的状态的持续监控。
76.可选地,当监控线程晚于任务线程启动时,该监控线程在获取任务线程执行时长的同时,可以更好的节约cpu的资源。
77.通过监控线程的运行,获取到任务线程执行定时任务的脚本的执行时长。
78.s204,若执行状态表示任务线程未结束且执行时长大于或者等于第一预设时长,则结束任务线程。
79.本技术实施例中,将获取到的定时任务当前的脚本执行时长与第一预设时长进行比较,进而判断当前脚本执行是否出现异常。
80.可选地,当监控线程获取到的任务线程的执行时长大于第一预设时长时,可以判定,当前的定时任务的脚本执行出现异常。
81.可选地,当监控线程获取到的任务线程的执行时长等于第一预设时长时,可以结合当前的任务线程的脚本执行的完成进度,实现对于脚本执行状态的判断。进一步地,当前任务线程的脚本执行时长等于第一预设时长,且脚本执行的任务线程尚未运行结束,可以判断当前任务线程的脚本执行出现异常,针对该异常情况,结束任务线程的运行,进而停止定时任务的脚本执行。
82.本技术提出的定时任务的脚本执行方法,启动任务线程与监控线程,其中,监控线程可以与任务线程同时启动,也可以在任务线程启动后的一定时间间隔后再行启动。通过监控线程实现对任务线程执行状态的监控,当任务线程执行时长大于或者等于第一预设时长时,则结束任务线程。本技术中,通过监控线程对任务线程执行情况的监控,使得执行超时的定时任务脚本可以被及时发现并停止,避免了由于人工操作耗时长、无法及时处理等问题导致的事故,强化了执行超时的定时任务脚本处理的及时性,进而提高了定时任务的脚本执行异常的处理效率。
83.上述实施例提出的脚本执行方法,可以结合图3进一步理解,图3为本技术另一实施例的定时任务脚本执行方法的流程示意图,作为一种可能实现的方式,监控线程与任务线程同步启动后,监控线程可以进入休眠状态。
84.如图3所示,该定时任务的脚本执行方法包括:
85.s301,在监控线程与任务线程同步启动时,启动任务线程后,休眠监控线程至第二预设时长,其中,第二预设时长等于第一预设时长。
86.本技术实施例中,系统通过监控线程获取的定时任务的脚本执行时长,实现脚本执行状态是否出现异常的判断。在监控线程与任务线程同时启动后,可以使监控线程进入休眠状态,待设定时长后,再行唤醒启动,在实现对于定时任务的脚本执行时长监控获取的同时,可以节省一定的cpu资源。
87.其中,监控线程的休眠时长设定为第二预设时长,为了监控线程可以实现对于任务线程执行脚本时长的监控,其中,第二预设时长等于第一预设时长。
88.监控线程与任务线程同步启动后,监控线程进入休眠状态,待监控线程休眠时长与第二预设时长相同时,监控线程被唤醒,开始对任务线程执行状态的监控。
89.s302,响应于监控线程的休眠时长到达第二预设时长,则结束监控线程的休眠,并开始对任务线程的执行状态进行监控。
90.本技术实施例中,监控线程休眠时长到达第二预设时长后,由休眠状态被重新唤醒进入运行状态,监控线程休眠结束后,开始执行监控任务,进而获取任务线程的执行状态以及执行时长。这样在休眠结束后,如果监控到任务线程仍在执行脚本,则可以直接判定为执行耗时过长,使得整个监控过程所消耗的资源更少。
91.本技术提出的定时任务的脚本执行方法,监控线程与任务线程同步启动后,监控线程进入休眠状态,当休眠时长到达第二预设时长时,被唤醒进入运行状态,开始对任务线程的执行监控。本技术中,监控线程通过进入第二预设时长的休眠,在实现对任务线程执行状态有效监控的同时,节省了cpu资源。
92.上述实施例提出的脚本执行方法,可以结合图4进一步理解,图4为本技术另一实施例的定时任务脚本执行方法的流程示意图,作为另一种可能实现的方式,监控线程与任务线程同步启动后,监控线程即刻开始对于任务线程执行脚本的监控。
93.如图4所示,该定时任务的脚本执行方法包括:
94.s401,在监控线程与任务线程同步启动时,从启动时刻开始对任务线程的执行状态持续监控。
95.本技术实施例中,监控线程与任务线程同步启动后,监控线程通过实时获取任务线程的执行状态与执行时长,实现对任务线程的执行状态的持续监控。
96.本技术提出的定时任务的脚本执行方法,监控线程与任务线程同步启动后,即刻开始对任务线程执行状态的持续监控。本技术中,监控线程实现了对任务线程执行状态的持续监控,可以及时发现任务线程的执行异常,强化了任务线程执行异常情况处理的及时性。
97.为更好的理解上述实施例提出的定时任务的脚本执行方法,可结合图5,如图5所示,图5为本技术另一实施例的定时任务脚本执行方法的流程示意图,该定时任务的脚本执行方法包括:
98.s501,执行定时任务的脚本。
99.s502,启动任务线程。
100.s503,执行定时任务的脚本。
101.s504,启动监控线程。
102.s505,持续监控任务线程执行情况。
103.s506,休眠第二预设时长。
104.s507,判定执行时长是否大于或者等于第一预设时长。
105.s508,停止执行任务线程。
106.s509,线程退出。
107.本技术实施例中,启动任务线程执行定时任务脚本,监控线程与任务线程同步启
动。
108.作为一种可能实现的方式,监控线程与任务线程同步启动后,自启动时刻开始监控任务线程的执行情况,获取任务线程当前时刻的执行时长,与第一预设时长进行对比。若当前任务线程执行时长大于或者等于第一预设时长,则停止执行任务线程;若当前任务线程执行时长小于第一预设时长,则可以判定该任务线程执行定时任务的脚本的执行过程没有出现异常,任务线程执行完毕后退出线程。
109.作为另一种可能实现的方式,监控线程与任务线程同步启动后,监控线程进入休眠状态,设定其休眠时长为第二预设时长,当监控线程休眠时长到达第二预设时长时,监控进程被重新唤醒,开始执行对任务线程执行实施任务的脚本的监控。通过对任务线程当前时刻执行时长的判定,完成对任务线程执行定时任务的脚本的执行过程的处理。若当前任务线程执行时长大于或者等于第一预设时长,则停止执行任务线程;若当前任务线程执行时长小于第一预设时长,则可以判定该任务线程执行定时任务的脚本的执行过程没有出现异常,任务线程执行完毕后退出线程。
110.本技术提出的定时任务的脚本执行方法,监控线程与任务线程同步启动后,通过可能实现的两种监控线程对任务线程执行定时任务的脚本的执行过程的监控,判断当前时刻的任务线程执行状态是否需要停止。若执行过程无异常,则任务线程执行完毕后退出线程;若执行时长大于或者等于第一预设时长,则停止执行任务线程。本技术中,通过对定时任务的脚本执行的监控获取到的脚本执行的时长,与第一预设时长进行比较,进而判断当前脚本执行状态是否需要停止继续执行的处理,使得执行超时的定时任务脚本可以被及时发现并停止,避免了由于人工操作耗时长、无法及时处理等问题导致的事故,强化了执行超时的定时任务脚本处理的及时性,进而提高了定时任务的脚本执行异常的处理效率。
111.与上述几种实施例提出的定时任务的脚本执行方法相对应,本技术的一个实施例还提出了一种定时任务的脚本执行装置,由于本技术实施例提出的定时任务的脚本执行装置与上述几种实施例提出的定时任务的脚本执行方法相对应,因此上述定时任务的脚本执行方法的实施方式也适用于本技术实施例提出的定时任务的脚本执行装置,在下述实施例中不再详细描述。
112.图6为本技术一实施例的定时任务脚本执行装置的结构示意图,如图6所示,定时任务脚本执行装置600,包括执行模块61、监控模块62,其中:
113.执行模块61,用于根据定时任务调度组件在linux服务器中执行定时任务的脚本,其中,定时任务调度组件基于java编程语言实现;
114.监控模块62,用于根据定时任务调度组件对定时任务的脚本进行执行监控,若监控到定时任务的脚本的执行时长大于或者等于第一预设时长,则停止定时任务的脚本的继续执行。
115.图7为本技术另一实施例的定时任务脚本执行装置的结构示意图,如图7所示,定时任务脚本执行装置700,包括执行模块71、监控模块72、休眠模块73、唤醒模块74,其中:
116.需要说明的是,执行模块61、监控模块62与执行模块71、监控模块72,具有相同的结构和功能。
117.本技术实施例中,执行模块71,还用于根据定时任务调度组件启动任务线程,通过任务线程执行定时任务的脚本。
118.本技术实施例中,监控模块72,还用于启动监控线程;通过监控线程对任务线程的执行状态进行监控;若执行状态表示任务线程未结束且执行时长大于或者等于第一预设时长,则结束任务线程。
119.本技术实施例中,监控模块72,进一步用于与任务线程的启动时刻间隔预设时间间隔后,启动监控线程。
120.本技术实施例中,监控模块72,进一步用于使监控线程与任务线程同步启动。本技术实施例中,定时任务脚本执行装置700,还包括休眠模块73、唤醒模块74,其中:
121.休眠模块73,用于在监控线程与任务线程同步启动时,启动任务线程后,休眠监控线程至第二预设时长,其中,第二预设时长等于第一预设时长;
122.唤醒模块74,用于响应于监控线程的休眠时长到达第二预设时长,结束监控线程的休眠,并开始对任务线程的执行状态进行监控。
123.本技术实施例中,监控模块72,还用于在监控线程与任务线程同步启动时,从启动时刻开始对任务线程的执行状态持续监控。
124.本技术提出的定时任务的脚本执行装置,监控线程与任务线程同步启动后,通过可能实现的两种监控线程对任务线程执行定时任务的脚本的执行过程的监控,判断当前时刻的任务线程执行状态是否需要停止。若执行过程无异常,则任务线程执行完毕后退出线程;若执行时长大于或者等于第一预设时长,则停止执行任务线程。本技术中,通过对定时任务的脚本执行的监控获取到的脚本执行的时长,与第一预设时长进行比较,进而判断当前脚本执行状态是否需要停止继续执行的处理,使得执行超时的定时任务脚本可以被及时发现并停止,避免了由于人工操作耗时长、无法及时处理等问题导致的事故,强化了执行超时的定时任务脚本处理的及时性,进而提高了定时任务的脚本执行异常的处理效率。
125.为达到上述实施例,本技术还提出了一种电子设备、一种可读存储介质和一种计算机程序产品。
126.图8为本技术一实施例的电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
127.如图8所示,设备800包括存储器810、处理器820及存储在存储器810上并可在处理器820上运行的计算机程序,处理器820执行程序指令时,实现上述实施例提出的定时任务的脚本执行方法。
128.本技术实施例提出的电子设备,通过处理器820执行存储在存储器810上的计算机程序,监控线程与任务线程同步启动后,通过可能实现的两种监控线程对任务线程执行定时任务的脚本的执行过程的监控,判断当前时刻的任务线程执行状态是否需要停止。若执行过程无异常,则任务线程执行完毕后退出线程;若执行时长大于或者等于第一预设时长,则停止执行任务线程。本技术中,通过对定时任务的脚本执行的监控获取到的脚本执行的时长,与第一预设时长进行比较,进而判断当前脚本执行状态是否需要停止继续执行的处理,使得执行超时的定时任务脚本可以被及时发现并停止,避免了由于人工操作耗时长、无
法及时处理等问题导致的事故,强化了执行超时的定时任务脚本处理的及时性,进而提高了定时任务的脚本执行异常的处理效率。
129.本技术实施例提出的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器820执行时,实现上述实施例提出的定时任务的脚本执行方法。
130.本技术实施例的计算机可读存储介质,通过存储计算机程序并被处理器执行,通过处理器820执行存储在存储器810上的计算机程序,监控线程与任务线程同步启动后,通过可能实现的两种监控线程对任务线程执行定时任务的脚本的执行过程的监控,判断当前时刻的任务线程执行状态是否需要停止。若执行过程无异常,则任务线程执行完毕后退出线程;若执行时长大于或者等于第一预设时长,则停止执行任务线程。本技术中,通过对定时任务的脚本执行的监控获取到的脚本执行的时长,与第一预设时长进行比较,进而判断当前脚本执行状态是否需要停止继续执行的处理,使得执行超时的定时任务脚本可以被及时发现并停止,避免了由于人工操作耗时长、无法及时处理等问题导致的事故,强化了执行超时的定时任务脚本处理的及时性,进而提高了定时任务的脚本执行异常的处理效率。
131.本技术实施例提出的一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时,实现上述实施例提出的定时任务的脚本执行方法。
132.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
133.用于实施本身的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
134.在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
135.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
136.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
137.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端服务器关系的计算机程序来产生客户端和服务器的关系。服务端可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(“virtual private server”,或简称“vps”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合区块链的服务器。
138.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
139.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
140.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
141.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电
连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
142.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
143.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
144.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
145.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
146.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本技术中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本技术公开的技术方案所期望的结果,本文在此不进行限制。
147.上述具体实施方式,并不构成对本技术保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本技术的精神和原则之内所作的修改、等同替换和改进等,均应包含在本技术保护范围之内。

技术特征:
1.一种定时任务的脚本执行方法,其特征在于,包括:根据定时任务调度组件在linux服务器中执行定时任务的脚本,其中,所述定时任务调度组件基于java编程语言实现;根据所述定时任务调度组件对所述定时任务的脚本进行执行监控,若监控到所述定时任务的脚本的执行时长大于或者等于第一预设时长,则停止所述定时任务的脚本的继续执行。2.根据权利要求1所述的定时任务的脚本执行方法,其特征在于,所述根据定时任务调度组件在linux服务器中执行定时任务的脚本,其中,所述定时任务调度组件基于java编程语言实现,包括:根据定时任务调度组件启动任务线程,通过所述任务线程执行所述定时任务的脚本。3.根据权利要求2所述的定时任务的脚本执行方法,其特征在于,所述根据所述定时任务调度组件对所述定时任务的脚本进行执行监控,若监控到所述定时任务的脚本的执行时长大于或者等于第一预设时长,则停止所述定时任务的脚本的继续执行,包括:启动监控线程;通过所述监控线程对所述任务线程的执行状态进行监控;若所述执行状态表示所述任务线程未结束且所述执行时长大于或者等于所述第一预设时长,则结束所述任务线程。4.根据权利要求3所述的所述的定时任务的脚本执行方法,其特征在于,所述启动监控线程,包括:与所述任务线程的启动时刻间隔预设时间间隔后,启动所述监控线程。5.根据权利要求3所述的所述的定时任务的脚本执行方法,其特征在于,所述启动监控线程,包括:使所述监控线程与所述任务线程同步启动。6.根据权利要求5所述的所述的定时任务的脚本执行方法,其特征在于,还包括:在所述监控线程与所述任务线程同步启动时,启动所述任务线程后,休眠所述监控线程至第二预设时长,其中,所述第二预设时长等于所述第一预设时长;响应于所述监控线程的休眠时长到达所述第二预设时长,结束所述监控线程的休眠,并开始对所述任务线程的执行状态进行监控。7.根据权利要求5所述的所述的定时任务的脚本执行方法,其特征在于,还包括:在所述监控线程与所述任务线程同步启动时,从启动时刻开始对所述任务线程的执行状态持续监控。8.一种定时任务的脚本执行装置,其特征在于,用于实现如权利要求1-7中任一项所述的定时任务的脚本执行方法。9.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7中任一项所述的定时任务的脚本执行方法。
10.一种计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的定时任务的脚本执行方法。

技术总结
本申请提出了一种定时任务的脚本执行方法及装置,其中,定时任务的脚本执行方法包括:根据定时任务调度组件在Linux服务器中执行定时任务的脚本,其中,定时任务调度组件基于JAVA编程语言实现;根据定时任务调度组件;对定时任务的脚本进行执行监控,若监控到定时任务的脚本的执行时长大于或者等于第一预设时长,则停止定时任务的脚本的继续执行。本申请中,通过对脚本执行时长超时的定时任务脚本的监控,使得执行超时的定时任务脚本可以被及时发现并停止,避免了由于人工操作耗时长、无法及时处理等问题导致的事故,强化了执行超时的定时任务脚本处理的及时性,进而提高了定时任务的脚本执行异常的处理效率。务的脚本执行异常的处理效率。务的脚本执行异常的处理效率。


技术研发人员:郜业锋 董俊峰 强群力 刘超千 赵彤 沈村敬 刘海龙
受保护的技术使用者:网联清算有限公司
技术研发日:2022.02.15
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐