本公开涉及计算机,具体地,涉及一种延迟任务处理方法、装置、介质以及电子设备。
背景技术:
1、延迟任务是指需要延迟执行的任务。例如,订单下单后,存在支付过程,若订单长时间未支付,则需要取消订单。在相关技术中,针对延迟任务,一般通过定期扫表来进行处理。但是随着业务的增加,每一个业务都需要维护一个自己的扫表逻辑,这就导致开发成本增加。
技术实现思路
1、提供该
技术实现要素:
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
2、第一方面,本公开提供一种延迟任务处理方法,包括:
3、响应于任务消费请求,在延迟队列的第一任务表中确定第一目标任务,其中所述延迟队列通过多级第一任务表存储任务执行时间与当前时刻之间的第一差值在预设时间范围内的延迟任务,每一级所述第一任务表用于存储所述第一差值与该第一任务表的时间范围相匹配的延迟任务,且后级第一任务表的时间范围在相邻的前级第一任务表的时间范围之后,以及每一级所述第一任务表被配置为在相邻的后级第一任务表存在第二目标任务的情况下,将所述第二目标任务加载至本第一任务表中,所述第二目标任务为后级第一任务表中任务执行时间与当前时刻之间的第二差值在本第一任务表对应的时间范围内的延迟任务;
4、向客户端发送所述第一目标任务,以使所述客户端执行所述第一目标任务。
5、第二方面,本公开提供一种延迟任务处理装置,包括:
6、确定模块,被配置为响应于任务消费请求,在延迟队列的第一任务表中确定第一目标任务,其中所述延迟队列通过多级第一任务表存储任务执行时间与当前时刻之间的第一差值在预设时间范围内的延迟任务,每一级所述第一任务表用于存储所述第一差值与该第一任务表的时间范围相匹配的延迟任务,且后级第一任务表的时间范围在相邻的前级第一任务表的时间范围之后,以及每一级所述第一任务表被配置为在相邻的后级第一任务表存在第二目标任务的情况下,将所述第二目标任务加载至本第一任务表中,所述第二目标任务为后级第一任务表中任务执行时间与当前时刻之间的第二差值在本第一任务表对应的时间范围内的延迟任务;
7、发送模块,被配置为向客户端发送所述第一目标任务,以使所述客户端执行所述第一目标任务。
8、第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
9、第四方面,本公开提供一种电子设备,包括:
10、存储装置,其上存储有计算机程序;
11、处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面所述方法的步骤。
12、基于上述技术方案,通过响应于任务消费请求,在延迟队列的第一任务表中确定第一目标任务,并向客户端发送第一目标任务,其中,延迟队列通过多级第一任务表存储延迟任务,并且在相邻的后级第一任务表存在第二目标任务的情况下,将第二目标任务加载至本第一任务表中。如此,可以在延迟队列中维护多个第一任务表对不同延迟执行时间的延迟任务进行分级,从而有序推送延迟任务,也降低了轮询延迟任务所需要的资源。而且,当第一任务表划分足够精细,电子设备向客户端推送延迟任务的时间精度可以达到毫秒级别。
13、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
1.一种延迟任务处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在响应于任务消费请求,在延迟队列的第一任务表中确定第一目标任务之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述延迟任务存储在任务池中,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述响应于任务消费请求,在延迟队列的第一任务表中确定第一目标任务,包括:
7.根据权利要求1所述的方法,其特征在于,所述响应于任务消费请求,在延迟队列的第一任务表中确定第一目标任务,包括:
8.一种延迟任务处理装置,其特征在于,包括:
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括: