CN110968410B - 任务失败重试方法、装置、计算机设备及存储介质 - Google Patents

任务失败重试方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110968410B
CN110968410B CN201911200414.8A CN201911200414A CN110968410B CN 110968410 B CN110968410 B CN 110968410B CN 201911200414 A CN201911200414 A CN 201911200414A CN 110968410 B CN110968410 B CN 110968410B
Authority
CN
China
Prior art keywords
retry
task
result
executor
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
CN201911200414.8A
Other languages
English (en)
Other versions
CN110968410A (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.)
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanrong Lianyi Information Technology Service 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 Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority to CN201911200414.8A priority Critical patent/CN110968410B/zh
Publication of CN110968410A publication Critical patent/CN110968410A/zh
Application granted granted Critical
Publication of CN110968410B publication Critical patent/CN110968410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明涉及任务失败重试方法、装置、计算机设备及存储介质,该方法包括当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果;判断所述第一重试结果是否是失败结果;若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;判断所述第二重试结果是否是失败结果;若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;若执行所述任务重试的执行器的个数超过阈值,则终止重试任务。本发明实现避免由于执行器问题带来的失败重试,能够均衡任务失败重试和资源耗费。

Description

任务失败重试方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机,更具体地说是指任务失败重试方法、装置、计算机设备及存储介质。
背景技术
在分布式任务调度系统中,任务的顺利执行是最应该保证的一个核心点,在现有的任务调度系统在保证任务的顺利进行时,会通过选择最优的执行器以及任务执行失败时的重试策略,现有的重试策略是由用户设置当任务执行失败时重试次数,那么一旦任务执行失败以后就会按照一定周期重试,直到重试次数用完,如果任务还是执行失败那么就会将结果发送回调度器,通知其任务执行失败了,这样的重试策略并不能很好根据实际情况解决任务执行失败的问题,易存在因为执行器自身的问题带来的失败重试,存在浪费资源的现象。
因此,有必要设计一种新的方法,实现避免由于执行器问题带来的失败重试,能够均衡任务失败重试和资源耗费。
发明内容
本发明的目的在于克服现有技术的缺陷,提供任务失败重试方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:任务失败重试方法,包括:
当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果;
判断所述第一重试结果是否是失败结果;
若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;
判断所述第二重试结果是否是失败结果;
若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;
若执行所述任务重试的执行器的个数超过阈值,则终止重试任务。
其进一步技术方案为:所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数,包括:
将所述任务归入需重试的队列内,并记录执行所述任务重试操作的执行器ID于所述需重试的队列内;
获取预设的候选执行器ID列表;
从预设的候选执行器ID列表内删除执行所述任务重试操作的执行器ID,以形成可重试执行器列表;
从可重试执行器列表挑选执行器,以形成新的执行器;
将所述任务下发至新的执行器进行任务重试,以得到第二重试结果;
更新执行所述任务重试的执行器的个数。
其进一步技术方案为:所述判断执行所述任务重试的执行器的个数是否超过阈值之后,还包括:
若执行所述任务重试的执行器的个数不超过阈值,则执行所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数。
其进一步技术方案为:所述判断所述第一重试结果是否是失败结果之后,还包括:
若所述第一重试结果不是失败结果,则发送任务重试成功的通知至终端,以进行提醒。
其进一步技术方案为:所述终止重试任务之后,还包括:
对终止重试的任务进行标记;
发送标记后的任务以及失败通知至终端,以进行提醒。
本发明还提供了任务失败重试装置,包括:
第一重试单元,用于当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果;
第一判断单元,用于判断所述第一重试结果是否是失败结果;
第二重试单元,用于若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;
第二判断单元,用于判断所述第二重试结果是否是失败结果;
第三判断单元,用于若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;
终止单元,用于若执行所述任务重试的执行器的个数超过阈值,则终止重试任务。
其进一步技术方案为:所述第二重试单元包括:
任务归入子单元,用于将所述任务归入需重试的队列内,并记录执行所述任务重试操作的执行器ID于所述需重试的队列内;
ID列表获取子单元,用于获取预设的候选执行器ID列表;
执行器列表获取子单元,用于从预设的候选执行器ID列表内删除执行所述任务重试操作的执行器ID,以形成可重试执行器列表;
挑选子单元,用于从可重试执行器列表挑选执行器,以形成新的执行器;
任务重试子单元,用于将所述任务下发至新的执行器进行任务重试,以得到第二重试结果;
个数更新子单元,用于更新执行所述任务重试的执行器的个数。
其进一步技术方案为:还包括:
第一通知单元,用于若所述第一重试结果不是失败结果,则发送任务重试成功的通知至终端,以进行提醒。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过设置重试次数,首次重试任务时,则在初次执行任务的执行器上按照重试次数进行重试,当重试失败时,则由调度服务器调取新的执行器进行任务重试,避免因为执行器的原因而导致任务失败的现象发生,且当调取的执行器数量超过阈值时,则终止任务的重试,实现避免由于执行器问题带来的失败重试,能够均衡任务失败重试和资源耗费。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的任务失败重试方法的应用场景示意图;
图2为本发明实施例提供的任务失败重试方法的流程示意图;
图3为本发明实施例提供的任务失败重试方法的子流程示意图;
图4为本发明另一实施例提供的任务失败重试方法的流程示意图;
图5为本发明实施例提供的任务失败重试装置的示意性框图;
图6为本发明实施例提供的任务失败重试装置的第二重试单元的示意性框图;
图7为本发明另一实施例提供的任务失败重试装置的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的任务失败重试方法的应用场景示意图。图2为本发明实施例提供的任务失败重试方法的示意性流程图。该任务失败重试方法应用于调度服务器中。该调度服务器为分布式服务平台中的一台服务器,该调度服务器与分布式服务平台中的其他服务器进行数据交互,且该调度服务器与终端进行数据交互,调度服务器将任务下发至分布式服务平台中的其他服务器也就是执行器进行任务重试,并将重试结果发送至终端进行提醒。
需要说明的是,图2中仅仅示意出两台执行器,在实际操作过程中,调取服务器可以对多个执行器进行调取,并驱动其进行任务重试。
图2是本发明实施例提供的任务失败重试方法的流程示意图。如图2所示,该方法包括以下步骤S110至S170。
S110、当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果。
在本实施例中,第一重试结果是指初始执行任务后出现任务失败且将该失败的任务在当前执行该任务的执行器进行重试所形成的结果。
具体地,当该执行器执行任务时出现失败,则调度服务器会调取该执行器按照设定的重试次数进行任务重试,且当在设定的重试次数内任务重试成功,属于第一重试结果不是失败结果的情况。
在本实施例中,上述的设定的重试次数为用户通过终端进行设定的次数,当用户未设定次数时,则表明当前设定的重试次数为三次。
具体地,第一次在任务失败之后会等待1s,然后在本执行器进行重试;第一次重试失败后会等待10s,然后在本执行器进行重试;如果第二次重试也失败后那么就不会在本执行器重试,会将该任务重新发送给回调度服务器,避免因为执行器的原因而导致任务重试失败的现象发生。
S120、判断所述第一重试结果是否是失败结果;
S130、若所述第一重试结果不是失败结果,则发送任务重试成功的通知至终端,以进行提醒。
S140、若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数。
在本实施例中,第二重试结果是指调取新的执行器执行在原先的执行器重试失败的任务进行重试所形成的结果。
在一实施例中,请参阅图3,上述的步骤S140可包括步骤S141~S146。
S141、将所述任务归入需重试的队列内,并记录执行所述任务重试操作的执行器ID于所述需重试的队列内。
调度服务器接收到失败需要进行重试的任务之后,会将该任务放进需重试的队列中,且在需重试的列队内的所述任务中记录已执行过该任务的执行器ID,以便于调取未执行过该任务的执行器进行任务重试,能够均衡任务失败重试和资源耗费。
S142、获取预设的候选执行器ID列表。
在本实施例中,预设的候选执行器ID列表是指包括有分布式调度任务中所有执行器的ID号以及相关信息的表格。
在搭建该分布式调度任务系统时,会将所有加入到该系统内的执行器的ID号和相关信息更新到该候选执行器ID列表内,当然,该候选执行器ID列表内还会登记执行器对应的空闲情况,避免资源耗费且可提高重试效率。
S143、从预设的候选执行器ID列表内删除执行所述任务重试操作的执行器ID,以形成可重试执行器列表。
在本实施例中,可重试执行器列表是指包括所有未执行过对应的需重试的任务的执行器。
具体地,当获取到需重试的列队内的任务时,会同时获取到已执行所述任务重试操作的执行器ID,在预设的候选执行器ID列表内将该已执行所述任务重试操作的执行器ID删除,便可得到未执行过对应的需重试的任务的执行器的ID号。
S144、从可重试执行器列表挑选执行器,以形成新的执行器。
在本实施例中,新的执行器是指用于执行新一轮重试操作的执行器。
具体地,可采用可重试执行器列表内执行器的顺序挑选执行器,当然,可重试执行器列表内的执行器的顺序由执行器执行任务的成功率的高低来排序的,成功率高的执行器放在前面,成功率低的执行器放在后面,以此提高任务重试的成功率。
S145、将所述任务下发至新的执行器进行任务重试,以得到第二重试结果。
在本实施例中,将需重试的队列内的任务下发至选定的新的执行器进行新一轮的重试,以避免由于执行器原因导致任务重试的现象发生。
在本实施例中,上述任务重试时也是按照设定的重试次数为用户通过终端进行设定的次数,当用户未设定次数时,则表明当前设定的重试次数为三次。
具体地,此处的任务重试的过程,第一次在任务失败之后会等待1s,然后在新的执行器进行重试;第一次重试失败后会等待10s,然后在新的执行器进行重试;如果第二次重试也失败后那么就不会在新的执行器重试,会将该任务重新发送给回调度服务器,避免因为执行器的原因而导致任务重试失败的现象发生。
S146、更新执行所述任务重试的执行器的个数。
在本实施例中,当初次重试任务时,则会将执行所述任务重试的执行器的个数设置为1,当调取新的执行器执行任务重试操作时,则将执行所述任务重试的执行器的个数更新为2,以此类推,每次调取新的执行器进行任务重试操作时,则会在原先的个数加一,以更新执行所述任务重试的执行器的个数。
S150、判断所述第二重试结果是否是失败结果。
若所述第二重试结果不是失败结果,则执行所述步骤S130。
S160、若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;
S170、若执行所述任务重试的执行器的个数超过阈值,则终止重试任务;
若执行所述任务重试的执行器的个数不超过阈值,则执行所述步骤S140。
如果用户设置的重试次数大于3的话,那么会在第二重试结果是失败结果后,发回调度服务器等待下发到新的执行器去运行,一旦执行该任务的执行器数目超过3个,则会终止任务重试,避免调度资源和执行资源的浪费。
上述的任务失败重试方法,通过设置重试次数,首次重试任务时,则在初次执行任务的执行器上按照重试次数进行重试,当重试失败时,则由调度服务器调取新的执行器进行任务重试,避免因为执行器的原因而导致任务失败的现象发生,且当调取的执行器数量超过阈值时,则终止任务的重试,实现避免由于执行器问题带来的失败重试,能够均衡任务失败重试和资源耗费。
图4是本发明另一实施例提供的一种任务失败重试方法的流程示意图。如图4所示,本实施例的任务失败重试方法包括步骤S210-S290。其中步骤S210-S270与上述实施例中的步骤S110-S170类似,在此不再赘述。下面详细说明本实施例中所增加的步骤S280-S290。
S280、对终止重试的任务进行标记;
S290、发送标记后的任务以及失败通知至终端,以进行提醒。
当多次重试后且调用多个执行器也是重试失败,则表明任务无法执行顺利,需要告知用户,以进行提醒。
图5是本发明实施例提供的一种任务失败重试装置300的示意性框图。如图5所示,对应于以上任务失败重试方法,本发明还提供一种任务失败重试装置300。该任务失败重试装置300包括用于执行上述任务失败重试方法的单元,该装置可以被配置于服务器中。
具体地,请参阅图5,该任务失败重试装置300包括第一重试单元301、第一判断单元302、第二重试单元303、第二判断单元304、第三判断单元305、终止单元306以及第一通知单元307。
第一重试单元301,用于当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果;第一判断单元302,用于判断所述第一重试结果是否是失败结果;第二重试单元303,用于若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;第二判断单元304,用于判断所述第二重试结果是否是失败结果;第三判断单元305,用于若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;终止单元306,用于若执行所述任务重试的执行器的个数超过阈值,则终止重试任务;第一通知单元307,用于若所述第一重试结果不是失败结果,则发送任务重试成功的通知至终端,以进行提醒。
在一实施例中,如图6所示,所述第二重试单元303包括任务归入子单元3031、ID列表获取子单元3032、执行器列表获取子单元3033、挑选子单元3034、任务重试子单元3035以及个数更新子单元3036。
任务归入子单元3031,用于将所述任务归入需重试的队列内,并记录执行所述任务重试操作的执行器ID于所述需重试的队列内;ID列表获取子单元3032,用于获取预设的候选执行器ID列表;执行器列表获取子单元3033,用于从预设的候选执行器ID列表内删除执行所述任务重试操作的执行器ID,以形成可重试执行器列表;挑选子单元3034,用于从可重试执行器列表挑选执行器,以形成新的执行器;任务重试子单元3035,用于将所述任务下发至新的执行器进行任务重试,以得到第二重试结果;个数更新子单元3036,用于更新执行所述任务重试的执行器的个数。
图7是本发明另一实施例提供的一种任务失败重试装置300的示意性框图。如图7所示,本实施例的任务失败重试装置300是上述实施例的基础上增加了标记单元308以及第二通知单元309。
标记单元308,用于对终止重试的任务进行标记;
第二通知单元309,用于发送标记后的任务以及失败通知至终端,以进行提醒。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述任务失败重试装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述任务失败重试装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种任务失败重试方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种任务失败重试方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果;判断所述第一重试结果是否是失败结果;若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;判断所述第二重试结果是否是失败结果;若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;若执行所述任务重试的执行器的个数超过阈值,则终止重试任务。
在一实施例中,处理器502在实现所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数步骤时,具体实现如下步骤:
将所述任务归入需重试的队列内,并记录执行所述任务重试操作的执行器ID于所述需重试的队列内;获取预设的候选执行器ID列表;从预设的候选执行器ID列表内删除执行所述任务重试操作的执行器ID,以形成可重试执行器列表;从可重试执行器列表挑选执行器,以形成新的执行器;将所述任务下发至新的执行器进行任务重试,以得到第二重试结果;更新执行所述任务重试的执行器的个数。
在一实施例中,处理器502在实现所述判断执行所述任务重试的执行器的个数是否超过阈值步骤之后,还实现如下步骤:
若执行所述任务重试的执行器的个数不超过阈值,则执行所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数。
在一实施例中,处理器502在实现所述判断所述第一重试结果是否是失败结果步骤之后,还实现如下步骤:
若所述第一重试结果不是失败结果,则发送任务重试成功的通知至终端,以进行提醒。
在一实施例中,处理器502在实现所述终止重试任务步骤之后,还实现如下步骤:
对终止重试的任务进行标记;发送标记后的任务以及失败通知至终端,以进行提醒。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果;判断所述第一重试结果是否是失败结果;若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;判断所述第二重试结果是否是失败结果;若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;若执行所述任务重试的执行器的个数超过阈值,则终止重试任务。
在一实施例中,所述处理器在执行所述计算机程序而实现所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数步骤时,具体实现如下步骤:
将所述任务归入需重试的队列内,并记录执行所述任务重试操作的执行器ID于所述需重试的队列内;获取预设的候选执行器ID列表;从预设的候选执行器ID列表内删除执行所述任务重试操作的执行器ID,以形成可重试执行器列表;从可重试执行器列表挑选执行器,以形成新的执行器;将所述任务下发至新的执行器进行任务重试,以得到第二重试结果;更新执行所述任务重试的执行器的个数。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断执行所述任务重试的执行器的个数是否超过阈值步骤之后,还实现如下步骤:
若执行所述任务重试的执行器的个数不超过阈值,则执行所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断所述第一重试结果是否是失败结果步骤之后,还实现如下步骤:
若所述第一重试结果不是失败结果,则发送任务重试成功的通知至终端,以进行提醒。
在一实施例中,所述处理器在执行所述计算机程序而实现所述终止重试任务步骤之后,还实现如下步骤:
对终止重试的任务进行标记;发送标记后的任务以及失败通知至终端,以进行提醒。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (7)

1.任务失败重试方法,其特征在于,包括:
当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果;
判断所述第一重试结果是否是失败结果;
若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;
判断所述第二重试结果是否是失败结果;
若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;
若执行所述任务重试的执行器的个数超过阈值,则终止重试任务;
所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数,包括:
将所述任务归入需重试的队列内,并记录执行所述任务重试操作的执行器ID于所述需重试的队列内;
获取预设的候选执行器ID列表;
从预设的候选执行器ID列表内删除执行所述任务重试操作的执行器ID,以形成可重试执行器列表;
从可重试执行器列表挑选执行器,以形成新的执行器;采用可重试执行器列表内执行器的顺序挑选执行器,可重试执行器列表内的执行器的顺序由执行器执行任务的成功率的高低来排序的,成功率高的执行器放在前面,成功率低的执行器放在后面;
将所述任务下发至新的执行器进行任务重试,以得到第二重试结果;
更新执行所述任务重试的执行器的个数;
所述判断执行所述任务重试的执行器的个数是否超过阈值之后,还包括:
若执行所述任务重试的执行器的个数不超过阈值,则执行所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数。
2.根据权利要求1所述的任务失败重试方法,其特征在于,所述判断所述第一重试结果是否是失败结果之后,还包括:
若所述第一重试结果不是失败结果,则发送任务重试成功的通知至终端,以进行提醒。
3.根据权利要求1所述的任务失败重试方法,其特征在于,所述终止重试任务之后,还包括:
对终止重试的任务进行标记;
发送标记后的任务以及失败通知至终端,以进行提醒。
4.任务失败重试装置,其特征在于,包括:
第一重试单元,用于当任务失败时,调取执行所述任务的执行器按照设定的重试次数进行任务重试,以得到第一重试结果;
第一判断单元,用于判断所述第一重试结果是否是失败结果;
第二重试单元,用于若所述第一重试结果是失败结果,则将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;
第二判断单元,用于判断所述第二重试结果是否是失败结果;
第三判断单元,用于若所述第二重试结果是失败结果,则判断执行所述任务重试的执行器的个数是否超过阈值;
终止单元,用于若执行所述任务重试的执行器的个数超过阈值,则终止重试任务;若执行所述任务重试的执行器的个数不超过阈值,则执行所述将所述任务下发至新的执行器进行任务重试,以得到第二重试结果以及执行所述任务重试的执行器的个数;
所述第二重试单元包括:
任务归入子单元,用于将所述任务归入需重试的队列内,并记录执行所述任务重试操作的执行器ID于所述需重试的队列内;
ID列表获取子单元,用于获取预设的候选执行器ID列表;
执行器列表获取子单元,用于从预设的候选执行器ID列表内删除执行所述任务重试操作的执行器ID,以形成可重试执行器列表;
挑选子单元,用于从可重试执行器列表挑选执行器,以形成新的执行器;采用可重试执行器列表内执行器的顺序挑选执行器,可重试执行器列表内的执行器的顺序由执行器执行任务的成功率的高低来排序的,成功率高的执行器放在前面,成功率低的执行器放在后面;
任务重试子单元,用于将所述任务下发至新的执行器进行任务重试,以得到第二重试结果;
个数更新子单元,用于更新执行所述任务重试的执行器的个数。
5.根据权利要求4所述的任务失败重试装置,其特征在于,还包括:
第一通知单元,用于若所述第一重试结果不是失败结果,则发送任务重试成功的通知至终端,以进行提醒。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的方法。
7.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至3中任一项所述的方法。
CN201911200414.8A 2019-11-29 2019-11-29 任务失败重试方法、装置、计算机设备及存储介质 Active CN110968410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911200414.8A CN110968410B (zh) 2019-11-29 2019-11-29 任务失败重试方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911200414.8A CN110968410B (zh) 2019-11-29 2019-11-29 任务失败重试方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110968410A CN110968410A (zh) 2020-04-07
CN110968410B true CN110968410B (zh) 2023-08-08

Family

ID=70032114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911200414.8A Active CN110968410B (zh) 2019-11-29 2019-11-29 任务失败重试方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110968410B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422691B (zh) * 2020-11-20 2023-08-11 深圳万兴软件有限公司 Mdm控制优化方法、装置、计算机设备及存储介质
CN113722330B (zh) * 2021-09-07 2024-06-07 辽宁振兴银行股份有限公司 一种联机交易失败重试的方法及装置
CN116909815B (zh) * 2023-08-30 2024-01-09 杭州阿里巴巴海外数字商业有限公司 任务重试方法、介质和计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705384A (zh) * 2004-06-02 2005-12-07 华为技术有限公司 业务请求重试方法及其装置
CN106557366A (zh) * 2015-09-28 2017-04-05 阿里巴巴集团控股有限公司 任务分发方法、装置及系统
CN107181788A (zh) * 2017-03-31 2017-09-19 北京奇艺世纪科技有限公司 一种任务处理方法及装置
CN107943684A (zh) * 2017-10-30 2018-04-20 北京奇虎科技有限公司 一种测试失败的重试方法、装置、服务器及存储介质
CN107967189A (zh) * 2016-10-20 2018-04-27 南京途牛科技有限公司 异常任务重试方法及装置
CN108304255A (zh) * 2017-12-29 2018-07-20 北京城市网邻信息技术有限公司 分布式任务调度方法及装置、电子设备及可读存储介质
KR20190062093A (ko) * 2017-11-28 2019-06-05 주식회사 빅솔론 인쇄 시스템의 에러 발생시 인쇄작업을 관리하는 방법 및 이를 수행하기 위한 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171475B2 (en) * 2007-08-29 2012-05-01 International Business Machines Corporation Intelligent retry method using remote shell

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705384A (zh) * 2004-06-02 2005-12-07 华为技术有限公司 业务请求重试方法及其装置
CN106557366A (zh) * 2015-09-28 2017-04-05 阿里巴巴集团控股有限公司 任务分发方法、装置及系统
CN107967189A (zh) * 2016-10-20 2018-04-27 南京途牛科技有限公司 异常任务重试方法及装置
CN107181788A (zh) * 2017-03-31 2017-09-19 北京奇艺世纪科技有限公司 一种任务处理方法及装置
CN107943684A (zh) * 2017-10-30 2018-04-20 北京奇虎科技有限公司 一种测试失败的重试方法、装置、服务器及存储介质
KR20190062093A (ko) * 2017-11-28 2019-06-05 주식회사 빅솔론 인쇄 시스템의 에러 발생시 인쇄작업을 관리하는 방법 및 이를 수행하기 위한 장치
CN108304255A (zh) * 2017-12-29 2018-07-20 北京城市网邻信息技术有限公司 分布式任务调度方法及装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN110968410A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN110968410B (zh) 任务失败重试方法、装置、计算机设备及存储介质
CN110096353B (zh) 任务调度方法及装置
US10459915B2 (en) Managing queries
US11544137B2 (en) Data processing platform monitoring
CN108280150B (zh) 一种分布式异步业务分发方法及系统
US10417062B2 (en) Method and apparatus of unloading out of memory processing flow to user space
CN111949497B (zh) 消息队列系统以及基于消息队列系统的消息处理方法
US9588983B2 (en) Data classification for adaptive synchronization
CN112579263A (zh) 任务执行方法及装置、存储介质及电子设备
CN110650164A (zh) 文件的上传方法、装置、终端以及计算机存储介质
CN109842621A (zh) 一种减少token存储数量的方法及终端
CN102654844A (zh) 处理存储器数据的方法及可维持稳定性的计算机系统
CN110673935A (zh) 一种基于Kubernetes系统的作业调度方法、设备以及存储介质
CN113157424A (zh) 任务调度方法及装置
CN109034668B (zh) Etl任务调度方法、装置、计算机设备及存储介质
JP2002140208A (ja) 性能シミュレーション装置および性能シミュレーション方法および性能シミュレーションプログラムを記録した記録媒体
CN110413398B (zh) 任务调度方法、装置、计算机设备和存储介质
CN109995863B (zh) 一种动态资源下载方法、装置、电子设备及存储介质
CN110764911A (zh) 基于订单的资源调度方法、装置和控制系统
WO2020228036A1 (zh) 任务处理方法、装置、系统、电子设备及存储介质
CN116361031A (zh) 消息的传输方法、系统、装置、处理器以及电子设备
CN109040491A (zh) 挂机行为处理方法、装置、计算机设备及存储介质
US11307974B2 (en) Horizontally scalable distributed system for automated firmware testing and method thereof
CN111090627B (zh) 基于池化的日志存储方法、装置、计算机设备及存储介质
CN114443325A (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