本公开涉及计算机软件,尤其涉及任务重试方法、介质和计算机设备。
背景技术:
1、在服务(例如,支付服务、查询服务等)执行过程中,需要调用服务系统来执行一定的服务逻辑。服务逻辑(也可称为业务逻辑)中经常出现网络异常等异常情况,这些异常情况会导致服务逻辑执行失败,从而导致数据不一致。因此,需要对执行失败的服务逻辑进行重试。相关技术中,重试逻辑一般都分散在各种服务代码之中,导致代码开发和维护成本较高。
技术实现思路
1、第一方面,本公开实施例提供一种任务重试方法、介质和计算机设备,所述方法包括:获取任务队列中的至少一个重试任务,所述任务队列能够存储多个服务场景的重试任务,重试任务基于所述重试任务所属的服务场景的任务模型生成;获取所述至少一个重试任务所属的服务场景与重试策略之间的对应关系,基于获取的对应关系,确定所述至少一个重试任务所属的服务场景对应的重试策略;所述至少一个重试任务所属的服务场景与重试策略之间的对应关系预先注册;基于获取的重试策略对所述至少一个重试任务进行处理。
2、第二方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开任一实施例所述的方法。
3、第三方面,本公开实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本公开任一实施例所述的方法。
4、在本公开实施例中,通过建立服务场景与重试策略之间的对应关系,将该对应关系进行预先注册,在获取到重试任务之后,可以基于上述对应关系,确定重试任务所属的服务场景对应的重试策略,并调用该重试策略来对重试任务进行处理。这样,开发人员只需要基于服务场景设计对应的任务模型以及重试策略,而与服务场景并非强相关的重试流程可以在不同的服务场景之间复用,使得重试流程一定程度上与服务场景解耦,提高了重试代码的复用性,减少了代码开发和维护成本。
5、应当理解,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
1.一种任务重试方法,所述方法包括:
2.根据权利要求1所述的方法,所述至少一个重试任务从任务数据库中被写入所述任务队列;所述任务队列中的至少一个重试任务包括:
3.根据权利要求2所述的方法,重试任务所属的服务场景的任务模型中包括所述重试任务所归属的账号信息;所述至少一个第一重试任务和/或所述至少一个第二重试任务为归属于目标账号信息的重试任务。
4.根据权利要求2所述的方法,
5.根据权利要求1所述的方法,重试任务所属的服务场景的任务模型中包括所述重试任务的任务类型信息,所重试任务的任务类型信息与所述重试任务所属的服务场景相关联;所述对应关系为所述任务类型信息与重试策略之间的对应关系;
6.根据权利要求1所述的方法,所述方法还包括:
7.根据权利要求1所述的方法,所述至少一个重试任务从任务数据库中被写入所述任务队列;所述方法还包括:
8.根据权利要求7所述的方法,所述任务模型中包括所述重试任务的任务标识信息,所述方法还包括:
9.根据权利要求7所述的方法,所述方法还包括:
10.根据权利要求9所述的方法,所述方法还包括:
11.根据权利要求7所述的方法,所述方法还包括:
12.根据权利要求7所述的方法,所述方法还包括:
13.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1至12任意一项所述的方法。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至12任意一项所述的方法。