CN110968407A - 任务的执行方法、装置、存储介质及电子装置 - Google Patents
任务的执行方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN110968407A CN110968407A CN201811163391.3A CN201811163391A CN110968407A CN 110968407 A CN110968407 A CN 110968407A CN 201811163391 A CN201811163391 A CN 201811163391A CN 110968407 A CN110968407 A CN 110968407A
- Authority
- CN
- China
- Prior art keywords
- report
- task
- queue
- message
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
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
技术领域
本发明涉及互联网领域,具体而言,涉及一种任务的执行方法、装置、存储介质及电子装置。
背景技术
在执行报表时,会由多种原因导致报表的执行失败。例如,查询各个产品数据失败,发送邮件失败等;还有些失败原因是系统的不稳定,比如产品的集群不稳定。因此,在执行报表的过程中会经常出现报表执行失败的情况。然而,在相关技术中,每当报表执行失败,就需要人为手动运行报表,由此会增加用户工作量,进而影响用户体验。
针对相关技术中,在报表执行失败的情况下,需要人为手动运行报表,增加用户工作量,影响用户体验的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种任务的执行方法、装置、存储介质及电子装置,以至少解决相关技术中在报表执行失败的情况下,人为手动运行报表的操作较为繁琐的问题。
根据本发明的一个实施例,提供了一种任务的执行方法,包括:获取目标队列中的目标消息,其中,目标队列中存储的消息用于指示任务执行失败的报表,所述目标队列包含于多个队列中,所述多个队列中的每个队列用于保存一种任务失败类型的消息;查找与目标消息对应的第一报表;执行与第一报表对应的报表任务。
可选地,在执行与第一报表对应的报表任务之后,方法还包括:在成功执行与第一报表对应的报表任务的情况下,将目标消息从目标队列中删除;在执行与第一报表对应的报表任务失败的情况下,将目标消息继续存储在目标队列中,并更新与第一报表对应的报表任务的失败执行次数。
可选地,在记录与第一报表对应的报表任务的失败执行次数之后,方法还包括:在与第一报表对应的报表任务的失败执行次数达到第一阈值的情况下,发送用于表示与第一报表对应的报表任务执行失败的消息。
可选地,在执行与第一报表对应的报表任务之前,在与第一报表对应的报表任务前一次执行失败的情况下,启动计时器进行计时;执行与第一报表对应的报表任务包括:在计时器的计时达到第二阈值的情况下,执行与第一报表对应的报表任务。
可选地,获取目标队列中的目标消息包括:监控多个队列中是否存在保存有消息的目标队列;在多个队列中存在目标队列的情况下,从目标队列中获取目标消息。
可选地,获取目标队列中的目标消息之前,方法还包括:根据任务执行失败的原因确定多种任务失败类型;为多种任务失败类型创建多个队列,并为多个队列中的每个队列设置第一阈值和第二阈值的取值,其中,多个队列中的每个队列对应于多种任务失败类型中的一种任务失败类型,第一阈值用于表示对与队列中的消息对应的任务的重复执行次数上限,第二阈值用于表示对与队列中的消息对应的任务的执行间隔时间。
可选地,在为多个队列中的每个队列设置第一阈值和第二阈值的取值之后,方法还包括:统计每个队列中的每个消息对应的任务执行成功所使用的重复执行次数;根据每个队列中的每个消息对应的任务执行成功所使用的重复执行次数调整每个队列的第一阈值和/或第二阈值的取值。
根据本发明的另一个实施例,提供了一种任务的执行装置,包括:获取模块,用于获取目标队列中的目标消息,其中,目标队列中存储的消息用于指示任务执行失败的报表,所述目标队列包含于多个队列中,所述多个队列中的每个队列用于保存一种任务失败类型的消息;查找模块,用于查找与目标消息对应的第一报表;执行模块,用于执行与第一报表对应的报表任务。
可选地,装置还包括,发送模块,用于在记录与第一报表对应的报表任务的失败执行次数之后,在与第一报表对应的报表任务的失败执行次数达到第一阈值的情况下,发送用于表示与第一报表对应的报表任务执行失败的消息。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于将用于指示任务执行失败的报表保存在目标队列中,通过获取目标消息并查找与其对应的第一报表,执行该报表对应的任务。因此,可以解决相关技术中在报表执行失败的情况下,人为手动运行报表的操作较为繁琐的问题,达到自动执行报表,减少用户工作量,提高用户体验的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种任务的执行方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的任务的执行方法的流程图;
图3是根据本发明实施例的任务的执行装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种任务的执行方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的任务的执行方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的任务的执行方法,图2是根据本发明实施例的任务的执行方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,计算机终端获取目标队列中的目标消息,其中,目标队列中存储的消息用于指示任务执行失败的报表,所述目标队列包含于多个队列中,所述多个队列中的每个队列用于保存一种任务失败类型的消息。
在本实施例中,队列与执行的任务类型相对应,也就是说,一种任务类型对应一个队列。例如,发送邮件的任务对应队列1,查询用户数据的任务对应队列2。
目标消息可以采用多种形式(具体可以根据场景进行选择),比如采用数字、符号或者字符等形式,保存在目标队列中。若上一次执行报表失败,那么就会产生一条目标消息保存在目标队列中,该目标消息用于指示执行失败的报表,换言之,每次一个新的报表失败,就会产生一条与该报表对应的目标消息,即目标消息的数量与执行失败的报表的数量是相同的。
步骤S2 04,计算机终端查找与目标消息对应的第一报表;
每次一个新的报表失败,就会产生一条与该报表对应的目标消息,可在数据库中建立产生的消息与失败的报表之间的一一映射关系,故在查找与所述目标消息对应的第一报表时可以在数据库利用目标消息查询到对应的第一报表。
步骤S206,计算机终端执行与所述第一报表对应的报表任务。
报表任务是指预先采用python、JAVA等语言编写好的计算机可执行的任务程序,报表可以认为是在用户层面可以感知的用于描述报表任务的内容(如任务名称、任务描述内容等)。
通过上述步骤,由于将用于指示任务执行失败的报表保存在目标队列中,通过获取目标消息并查找与其对应的第一报表,执行该报表对应的任务,由于上述步骤均是通过计算程序自动触发执行的,因此可以解决相关技术中在报表执行失败的情况下,人为手动运行报表的操作较为繁琐的问题,达到自动执行报表,减少用户工作量,提高用户体验的效果。
上述实施例中虽然以计算机终端为执行主体为例进行说明,但是本领域技术人员明了的是,计算机终端这一执行主体还可以替换为移动终端或者类似的运算装置等,但不限于此。
在一个可选实施例,在执行与所述第一报表对应的报表任务之后,上述方法还包括:在成功执行与所述第一报表对应的报表任务的情况下,将所述目标消息从所述目标队列中删除;在执行与所述第一报表对应的报表任务失败的情况下,将所述目标消息继续存储在所述目标队列中,并更新与所述第一报表对应的报表任务的失败执行次数。在本实施例中,若上次执行第一报表失败,那么在目标队列中会生成一条与执行第一报表失败相对应的目标消息,获取到该目标消息后,通过对应关系查找到与其相对应的第一报表,重新执行第一报表中的任务,若重新成功执行第一报表中的任务,那么在目标队列中删除与第一报表相对应的目标消息。若执行失败,那么将目标消息保存在目标队列中,并更新第一报表对应的任务执行失败的次数,例如,可以设置一个N值,用于计算第一报表执行失败的次数,第一报表执行失败一次,N值自动加一。
在一个可选实施例,在记录与所述第一报表对应的报表任务的失败执行次数之后,所述方法还包括:在与所述第一报表对应的报表任务的失败执行次数达到第一阈值的情况下,发送用于表示与所述第一报表对应的报表任务执行失败的消息。在本实施例中,将第一报表执行失败的总次数预先设置一个阈值Nmax,该阈值可以根据实际情况任意调整。例如,用户在执行发送邮件任务,该任务对应第一报表,将第一报表执行失败次数记为N,将该阈值设置为Nmax=10。当第一报表执行失败达到10次时,向用户发送邮件发送失败的消息。
在一个可选实施例,在执行与所述第一报表对应的报表任务之前,在与所述第一报表对应的报表任务前一次执行失败的情况下,启动计时器进行计时;执行与所述第一报表对应的报表任务包括:在所述计时器的计时达到第二阈值的情况下,执行与所述第一报表对应的报表任务。在本次实施例中,第二阈值表示相邻两次重复执行第一报表中任务的时间间隔,例如第一次执行第一报表失败的时间距离第二次执行第一报表的时间间隔为第二阈值。第二阈值可以根据实际情况设置,例如,可以根据报表的执行失败的频率设置(第二阈值的大小与失败频率成反比)。当第一次执行第一报表失败的情况下开始启动计时器开始计时,当时间到达第二阈值时,开始第二次执行第一报表中的任务。
在一个可选实施例,获取目标队列中的目标消息包括:监控所述多个队列中是否存在保存有消息的所述目标队列;在所述多个队列中存在所述目标队列的情况下,从所述目标队列中获取所述目标消息。实时监控队列中是否存在目标消息,若存在目标消息,那么该目标消息所对应的队列即为目标队列,获取该目标队列中的目标消息。
在一个可选实施例,获取目标队列中的目标消息之前,所述方法还包括:根据任务执行失败的原因确定多种任务失败类型;为所述多种任务失败类型创建所述多个队列,并为所述多个队列中的每个队列设置第一阈值和第二阈值的取值,其中,所述多个队列中的每个队列对应于所述多种任务失败类型中的一种任务失败类型,所述第一阈值用于表示对与队列中的消息对应的任务的重复执行次数上限,所述第二阈值用于表示对与队列中的消息对应的任务的执行间隔时间。在本实施例中,例如,在上述实施例中,预先设置重复执行发送邮件失败的总次数(对应于第一阈值)Nmax,以及相邻两次重复执行发送邮件失败的时间间隔(对应于第二阈值)Mmax。
在一个可选实施例,在为所述多个队列中的每个队列设置第一阈值和第二阈值的取值之后,所述方法还包括:统计所述每个队列中的每个消息对应的任务执行成功所使用的重复执行次数;根据所述每个队列中的每个消息对应的任务执行成功所使用的重复执行次数调整所述每个队列的第一阈值和/或第二阈值的取值。在本实施例中,在执行某类型任务成功后统计执行该任务的重复执行次数,根据重复执行的次数调整时第一阈值和第二阈值。例如,某种类型任务执行的成功率较高,也就是重复执行的次数较少,那么可以相应的将第一阈值调小,将第二阈值调大。反之,则与之相反。例如,成功发送一封邮件需要重复执行3次,那么相应的第一阈值可以设置为Nmax=5,Mmax=50秒。成功查询某用户的数据需要重复执行100次,那么第一阈值可以设置为Nmax=110,Mmax=5秒。
下面以具体实施例来说明本申请。
步骤1,定义ErrorCode(错误代码,即目标消息),对错误类型进行区分,各个产品查询就返回ErrorCode;
步骤2,各个产品定义各个ErrorCode是否需要重试,以及重试间隔时长(即第二阈值),重试次数(即第一阈值);
步骤3,为每个ErrorCode创建队列;
步骤4,报表执行出错的话根据ErrorCode放到相应的队列里;
步骤5,定义报表重试功能,周期性监听各个ErrorCode队列,监听周期即为Error对应的重试时长;
步骤6,如果ErrorCode队列中有消息的话,就将消息取出,即报表配置,重新执行报表;
步骤7,如果仍然失败继续放到ErrorCode对应的队列里,并将错误次数加1;
步骤8,如果重试次数超出ErrorCode对应的值的话,直接失败,发送错误邮件(即发送用于表示报表任务执行失败的消息);
步骤9,统计每个ErrorCode在给定的重试间隔和重试次数情况下成功率,动态调整重试间隔和次数。
例如,第一报表中的任务为向客户发送邮件,第二报表中的任务为查询客户数据。分别创建第一队列和第二队列,第一队列与第一报表中的任务相对应,第二队列与第二报表中的任务相对应。
当发送邮件失败时,第一队列中将生成第一消息,获取到第一消息后,当计时器的时间到达Mmax=50秒,重复发送邮件,若此次邮件发送成功,则将第一队列中的第一消息删除,若发送失败,则将失败次数加1,若失败的总次数达到Nmax=5次,向用户发送“邮件发送失败”。
当查询客户数据失败时,第二队列中将生成第二消息,获取到第二消息后,当计时器的时间到达Mmax=5秒,重复查询客户数据,若此次查询成功,则将第二队列中的第二消息删除,若发送失败,则将失败次数加1,若失败的总次数达到Nmax=110次,向用户发送“邮件发送失败”。
最后统计邮件发送成功时,所需要重复发送邮件的总次数,以及查询用户数据成功时,所需重复查询的总次数,根据任务执行成功所需要重复执行的次数调整Nmax和Mmax的值。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种任务的执行装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的任务的执行装置的结构框图,如图3所示,该装置包括:
获取模块32,用于获取目标队列中的目标消息,其中,所述目标队列中存储的消息用于指示任务执行失败的报表,所述目标队列包含于多个队列中,所述多个队列中的每个队列用于保存一种任务失败类型的消息;
查找模块34,用于查找与所述目标消息对应的第一报表;
执行模块36,用于执行与所述第一报表对应的报表任务。
在一个可选实施例,所述装置还包括:发送模块,用于在记录与所述第一报表对应的报表任务的失败执行次数之后,在与所述第一报表对应的报表任务的失败执行次数达到第一阈值的情况下,发送用于表示与所述第一报表对应的报表任务执行失败的消息。
在一个可选实施例,上述装置还用于,在记录与所述第一报表对应的报表任务的失败执行次数之后,在与所述第一报表对应的报表任务的失败执行次数达到第一阈值的情况下,发送用于表示与所述第一报表对应的报表任务执行失败的消息。
在一个可选实施例,上述装置还用于,在执行与所述第一报表对应的报表任务之前,在与所述第一报表对应的报表任务前一次执行失败的情况下,启动计时器进行计时;执行与所述第一报表对应的报表任务包括:在所述计时器的计时达到第二阈值的情况下,执行与所述第一报表对应的报表任务。
在一个可选实施例,上述获取模块32还用于,监控所述多个队列中是否存在保存有消息的所述目标队列;在所述多个队列中存在所述目标队列的情况下,从所述目标队列中获取所述目标消息。
在一个可选实施例,上述装置还用于,获取目标队列中的目标消息之前,根据任务执行失败的原因确定多种任务失败类型;为所述多种任务失败类型创建所述多个队列,并为所述多个队列中的每个队列设置第一阈值和第二阈值的取值,其中,所述多个队列中的每个队列对应于所述多种任务失败类型中的一种任务失败类型,所述第一阈值用于表示对与队列中的消息对应的任务的重复执行次数上限,所述第二阈值用于表示对与队列中的消息对应的任务的执行间隔时间。
在一个可选实施例,上述装置还用于,在为所述多个队列中的每个队列设置第一阈值和第二阈值的取值之后,统计所述每个队列中的每个消息对应的任务执行成功所使用的重复执行次数;根据所述每个队列中的每个消息对应的任务执行成功所使用的重复执行次数调整所述每个队列的第一阈值和/或第二阈值的取值。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标队列中的目标消息,其中,所述目标队列中存储的消息用于指示任务执行失败的报表,所述目标队列包含于多个队列中,所述多个队列中的每个队列用于保存一种任务失败类型的消息;
S2,查找与所述目标消息对应的第一报表;
S3,执行与所述第一报表对应的报表任务。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标队列中的目标消息,其中,所述目标队列中存储的消息用于指示任务执行失败的报表,所述目标队列包含于多个队列中,所述多个队列中的每个队列用于保存一种任务失败类型的消息;
S2,查找与所述目标消息对应的第一报表;
S3,执行与所述第一报表对应的报表任务。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种任务的执行方法,其特征在于,包括:
获取目标队列中的目标消息,其中,所述目标队列中存储的消息用于指示任务执行失败的报表,所述目标队列包含于多个队列中,所述多个队列中的每个队列用于保存一种任务失败类型的消息;
查找与所述目标消息对应的第一报表;
执行与所述第一报表对应的报表任务。
2.根据权利要求1所述的方法,其特征在于,在执行与所述第一报表对应的报表任务之后,所述方法还包括:
在成功执行与所述第一报表对应的报表任务的情况下,将所述目标消息从所述目标队列中删除;
在执行与所述第一报表对应的报表任务失败的情况下,将所述目标消息继续存储在所述目标队列中,并更新与所述第一报表对应的报表任务的失败执行次数。
3.根据权利要求2所述的方法,其特征在于,在记录与所述第一报表对应的报表任务的失败执行次数之后,所述方法还包括:
在与所述第一报表对应的报表任务的失败执行次数达到第一阈值的情况下,发送用于表示与所述第一报表对应的报表任务执行失败的消息。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,
在执行与所述第一报表对应的报表任务之前,所述方法还包括:在与所述第一报表对应的报表任务前一次执行失败的情况下,启动计时器进行计时;
执行与所述第一报表对应的报表任务包括:在所述计时器的计时达到第二阈值的情况下,执行与所述第一报表对应的报表任务。
5.根据权利要求1至3中任意一项所述的方法,其特征在于,获取目标队列中的目标消息包括:
监控所述多个队列中是否存在保存有消息的所述目标队列;
在所述多个队列中存在所述目标队列的情况下,从所述目标队列中获取所述目标消息。
6.根据权利要求5所述的方法,其特征在于,获取目标队列中的目标消息之前,所述方法还包括:
根据任务执行失败的原因确定多种任务失败类型;
为所述多种任务失败类型创建所述多个队列,并为所述多个队列中的每个队列设置第一阈值和第二阈值的取值,其中,所述多个队列中的每个队列对应于所述多种任务失败类型中的一种任务失败类型,所述第一阈值用于表示对与队列中的消息对应的任务的重复执行次数上限,所述第二阈值用于表示对与队列中的消息对应的任务的执行间隔时间。
7.根据权利要求6所述的方法,其特征在于,在为所述多个队列中的每个队列设置第一阈值和第二阈值的取值之后,所述方法还包括:
统计所述每个队列中的每个消息对应的任务执行成功所使用的重复执行次数;
根据所述每个队列中的每个消息对应的任务执行成功所使用的重复执行次数调整所述每个队列的第一阈值和/或第二阈值的取值。
8.一种任务的执行装置,其特征在于,包括:
获取模块,用于获取目标队列中的目标消息,其中,所述目标队列中存储的消息用于指示任务执行失败的报表,所述目标队列包含于多个队列中,所述多个队列中的每个队列用于保存一种任务失败类型的消息;
查找模块,用于查找与所述目标消息对应的第一报表;
执行模块,用于执行与所述第一报表对应的报表任务。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811163391.3A CN110968407A (zh) | 2018-09-30 | 2018-09-30 | 任务的执行方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811163391.3A CN110968407A (zh) | 2018-09-30 | 2018-09-30 | 任务的执行方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110968407A true CN110968407A (zh) | 2020-04-07 |
Family
ID=70029542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811163391.3A Pending CN110968407A (zh) | 2018-09-30 | 2018-09-30 | 任务的执行方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968407A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278984A (en) * | 1990-12-19 | 1994-01-11 | Bull Hn Information Systems Inc. | Method for managing requests by specifying time intervals for transmitting a minimum number of messages for specific destinations and priority levels |
CN102081757A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团天津有限公司 | 一种报表制作方法及其系统 |
CN104166590A (zh) * | 2013-05-20 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种实现任务调度的方法及系统 |
JP2016018396A (ja) * | 2014-07-08 | 2016-02-01 | キヤノン株式会社 | 情報処理システム、サーバ、制御方法およびコンピュータプログラム |
CN105701257A (zh) * | 2016-03-31 | 2016-06-22 | 北京奇虎科技有限公司 | 数据处理方法和装置 |
CN105843937A (zh) * | 2016-03-31 | 2016-08-10 | 北京奇虎科技有限公司 | 数据处理方法和装置 |
US20170206232A1 (en) * | 2004-06-18 | 2017-07-20 | Google Inc. | System and Method for Large-Scale Data Processing Using an Application-Independent Framework |
-
2018
- 2018-09-30 CN CN201811163391.3A patent/CN110968407A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278984A (en) * | 1990-12-19 | 1994-01-11 | Bull Hn Information Systems Inc. | Method for managing requests by specifying time intervals for transmitting a minimum number of messages for specific destinations and priority levels |
US20170206232A1 (en) * | 2004-06-18 | 2017-07-20 | Google Inc. | System and Method for Large-Scale Data Processing Using an Application-Independent Framework |
CN102081757A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团天津有限公司 | 一种报表制作方法及其系统 |
CN104166590A (zh) * | 2013-05-20 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种实现任务调度的方法及系统 |
JP2016018396A (ja) * | 2014-07-08 | 2016-02-01 | キヤノン株式会社 | 情報処理システム、サーバ、制御方法およびコンピュータプログラム |
CN105701257A (zh) * | 2016-03-31 | 2016-06-22 | 北京奇虎科技有限公司 | 数据处理方法和装置 |
CN105843937A (zh) * | 2016-03-31 | 2016-08-10 | 北京奇虎科技有限公司 | 数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240012707A1 (en) | Log analysis in vector space | |
CN112367345B (zh) | 数据处理方法、服务端设备及计算机可读存储介质 | |
TW201814609A (zh) | 一種資訊推送的方法和系統及用戶端和伺服器 | |
CN111934956B (zh) | 设备的配置方法、装置、存储介质及电子装置 | |
CN112417255B (zh) | 在线状态的接收方法及装置、存储介质、电子装置 | |
CN112087327B (zh) | 信息状态获取方法和装置、存储介质和电子装置 | |
CN111736938A (zh) | 信息的显示方法及装置、存储介质和电子装置 | |
CN107566480B (zh) | 移动终端应用的用户活动信息采集方法及装置、存储介质 | |
CN113806191A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
JP2017508487A (ja) | 対話式アプリケーションにおいて標識アイコンを追加するための方法およびデバイス | |
CN117579611A (zh) | 数据传输方法、装置、存储介质及电子装置 | |
CN117112303A (zh) | 云端服务器的数据备份方法、云端服务器和电子设备 | |
CN110968407A (zh) | 任务的执行方法、装置、存储介质及电子装置 | |
CN103957230A (zh) | 一种客户端用户数确定方法、服务器、客户端及系统 | |
CN106156210B (zh) | 一种确定应用标识匹配列表的方法和装置 | |
US20170223136A1 (en) | Any Web Page Reporting and Capture | |
CN111737136B (zh) | 基于物联网平台的对象测试方法装置 | |
CN114090074A (zh) | 运行环境的配置方法和装置、存储介质及电子装置 | |
CN113946394A (zh) | 一种任务流运行结果实时展示方法、装置和电子设备 | |
CN110543470A (zh) | 消息预警的方法及装置、存储介质和电子装置 | |
CN114678012B (zh) | 语音交互数据的处理方法和装置、存储介质及电子装置 | |
CN112769889B (zh) | 服务数据的推送方法、装置、存储介质以及电子装置 | |
CN114124681B (zh) | 绑定信息的发送方法和装置、存储介质及电子装置 | |
CN111858043B (zh) | 服务请求的处理方法及装置、存储介质、电子装置 | |
CN117873827A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200407 |