【技术实现步骤摘要】
定时任务处理方法、装置、计算机设备和可读存储介质
[0001]本申请涉及数据处理及数字医疗
,尤其是涉及到一种定时任务处理方法、装置、计算机设备和可读存储介质。
技术介绍
[0002]在数字医疗或金融科技等业务开发过程中,需要在某个时间段之后触发某个事件,例如,用户取消订单24小时内若商家未同意则自动退款、优惠券的有效期提醒等。通常应用以下方案进行处理:
[0003](1)轮询的方式:以固定时间间隔扫描全量数据,并执行即将超时的定时任务;(2)消息队列的方式:例如rocket mq的延迟消息,将定时任务需要延迟的时间作为mq发送者的延迟时间,延迟时间到期时,执行定时任务。但是,上述方案存在以下几个问题:(1)轮询时间无法确定,定时任务很难精确卡到延迟时间点,消息队列只有固定的一些延迟时间,也无法精确卡到定时任务的延迟时间点;(2)轮询峰值时,会对数据库造成很大压力。
[0004]为此,相关技术中设置单级时间轮存储定时任务,如图1所示,能够实现定时任务的处理,从而避免上述问题。但是,单级时间轮,时间刻度太 ...
【技术保护点】
【技术特征摘要】
1.一种定时任务处理方法,其特征在于,包括:启动多级时间轮,确定所述时间轮的时间槽位对应的定时任务;其中,多级时间轮包括至少两个所述时间轮,每个所述时间轮上包括多个时间槽位,前一级时间轮的一圈对应于后一级时间轮的一个时间槽位;将所述定时任务提交至业务线程池,以使所述业务线程池将所述定时任务分发至执行器执行。2.根据权利要求1所述的方法,其特征在于,在所述启动多级时间轮,确定所述时间轮的时间槽位对应的定时任务之前,还包括:获取时间轮参数,并根据所述时间轮参数设置多级时间轮;获取任务参数,根据所述任务参数设置定时任务,并设置每个所述时间轮对应的用于存储定时任务的第一搜索引擎单元;为所述时间轮添加所述定时任务以及所述定时任务对应的搜索标识;其中,所述第一搜索引擎单元中存储有多个任务集合,每个所述任务集合包括至少一个所述定时任务,每个所述任务集合具有一个所述搜索标识,所述搜索标识包括时间轮ID和时间槽位ID,所述搜索标识用于指示时间轮的时间槽位。3.根据权利要求2所述的方法,其特征在于,所述时间轮参数包括以下至少一项:时间轮数量、每个所述时间轮的启动等级、每个所述时间轮的时间槽位数量、时间槽位对应的时间间隔、执行定时任务的业务线程池。4.根据权利要求2所述的方法,其特征在于,所述为所述时间轮添加所述定时任务,包括:将所述定时任务的延迟时间与前一级时间轮的时间上限进行比较;若所述延迟时间未超过所述前一级时间轮的时间上限,则将所述定时任务添加到所述前一级时间轮;若所述延迟时间超过所述前一级时间轮的时间上限,则将所述定时任务添加到后一级时间轮中。5.根据权利要求2所述的方法,其特征在于,针对任一所述时间轮,所述启动多级时间轮,确...
【专利技术属性】
技术研发人员:曾劲伟,
申请(专利权)人:康键信息技术深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。