本申请涉及数据处理,尤其涉及一种异步任务调度方法、装置、设备、存储介质及计算机程序产品。
背景技术:
1、对于不需要立即完成的异步任务,可以在后台运行,避免主线程的阻塞,以优化用户体验,提高系统的响应速度与效率。
2、异步任务允许程序在执行某些耗时操作时,不会阻塞主线程,从而使得主线程能够更快地响应用户的请求,提高用户体验。目前异步任务有很多框架都提供了模板,开发人员可以很轻松构建一个异步任务,但是异步任务通常都是基于单个场景开发,无统一的调度与监控机制,出现问题往往需要人工介入,最终造成用户的体验下降。
3、上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本申请的主要目的在于提供一种发明名称,旨在解决无统一的调度与监控机制,出现问题往往需要人工介入,最终造成用户的体验下降的技术问题。
2、为实现上述目的,本申请提出一种异步任务调度方法,所述的方法包括:
3、获取在各场景中业务交易时的异步任务信息;
4、调用预设统一调度接口执行所述异步任务信息中的异步任务,获得执行结果;
5、若所述执行结果为失败,则将所述执行结果为失败的待重试任务更新至所述异步任务信息中。
6、在一实施例中,所述若所述执行结果为失败,则将所述执行结果为失败的待重试任务更新至所述异步任务信息中的步骤包括:
7、若所述执行结果为失败,则更新所述异步任务信息中对应异步任务的任务状态为失败状态;
8、基于预设定时任务,从所述异步任务信息中扫描所述任务状态为失败状态的待重试任务;
9、将所述待重试任务重新调度至所述异步任务信息的异步任务队列中。
10、在一实施例中,所述基于预设定时任务,从所述异步任务信息中扫描所述任务状态为失败状态的待重试任务的步骤包括:
11、根据所述预设定时任务,确定扫描待重试任务的扫描周期;
12、在所述扫描周期内,从所述异步任务中扫描所述任务状态为失败状态的失败任务;
13、从所述异步任务信息中,获取所述失败任务的重试次数;
14、若所述重试次数未超过预设重试上限,则确定所述失败任务为待重试任务。
15、在一实施例中,所述从所述异步任务信息中,获取所述失败任务的重试次数的步骤之后还包括:
16、若所述重试次数超过所述预设重试上限,则停止对所述待重试任务的调度;
17、基于预设kafka发出与所述待重试任务相关的实时告警。
18、在一实施例中,所述调用预设统一调度接口执行所述异步任务信息中的异步任务,获得执行结果的步骤包括:
19、调用预设统一调度接口,初始化执行所述异步任务信息中的异步任务时所需环境的环境参数;
20、基于所述环境参数初始化所述所需环境;
21、基于所述异步任务信息中的任务参数确定执行所述异步任务需要的执行程序;
22、将所述执行程序与所述异步任务提交至预设线程池,确定执行所述异步任务的线程;
23、基于所述线程在所述所需环境中执行所述异步任务,获得执行结果。
24、在一实施例中,所述获取在各场景中业务交易时的异步任务信息的步骤包括:
25、获取在各场景中业务交易时的业务内容;
26、从所述业务内容中识别需要调度的异步任务与执行所述异步任务需要的任务参数;
27、基于所述异步任务与所述任务参数,确定异步任务信息。
28、此外,为实现上述目的,本申请还提出一种异步任务调度装置,所述异步任务调度装置包括:
29、获取模块,用于获取在各场景中业务交易时的异步任务信息;
30、执行模块,用于调用预设统一调度接口执行所述异步任务信息中的异步任务,获得执行结果;
31、更新模块,用于若所述执行结果为失败,则将所述执行结果为失败的待重试任务更新至所述异步任务信息中。
32、此外,为实现上述目的,本申请还提出一种异步任务调度设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的异步任务调度方法的步骤。
33、此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的异步任务调度方法的步骤。
34、此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的异步任务调度方法的步骤。
35、本申请提出的一个或多个技术方案,至少具有以下技术效果:
36、本申请将各场景中业务交易时的异步任务信息进行整合,以实现在各场景中开发的异步任务,以方便后续对异步任务的统一调度,在获取到异步任务信息后,调用预设统一调度接口执行异步任务信息中的异步任务,实现对不同场景中的异步任务进行统一管理与调度,并获得异步任务执行后的执行结果,在执行失败时对应的异步任务(待重试任务)重新更新至异步任务信息中,以在异步任务执行失败时,实现对异步任务的自动重试,减少了人工的介入,进而提高了对用户的体验感。
37、综上所述,本申请通过整合个场景中业务交易时获取到的异步任务信息以实现在各场景中开发异步任务,并利用预设统一调度接口执行各异步任务,并在执行失败后对该异步任务进行自动重试,减少了人工的介入,进而提高了对用户的体验感。
1.一种异步任务调度方法,其特征在于,所述的方法包括:
2.如权利要求1所述的方法,其特征在于,所述若所述执行结果为失败,则将所述执行结果为失败的待重试任务更新至所述异步任务信息中的步骤包括:
3.如权利要求2所述的方法,其特征在于,所述基于预设定时任务,从所述异步任务信息中扫描所述任务状态为失败状态的待重试任务的步骤包括:
4.如权利要求3所述的方法,其特征在于,所述从所述异步任务信息中,获取所述失败任务的重试次数的步骤之后还包括:
5.如权利要求1至4中任一项所述的方法,其特征在于,所述调用预设统一调度接口执行所述异步任务信息中的异步任务,获得执行结果的步骤包括:
6.如权利要求1至4中任一项所述的方法,其特征在于,所述获取在各场景中业务交易时的异步任务信息的步骤包括:
7.一种异步任务调度装置,其特征在于,所述装置包括:
8.一种异步任务调度设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至6中任一项所述的异步任务调度方法的步骤。
9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的异步任务调度方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的异步任务调度方法的步骤。