【技术实现步骤摘要】
任务执行方法、装置、电子设备、存储介质
本专利技术涉及计算机
,特别涉及任务执行方法、装置、电子设备、存储介质。
技术介绍
业务系统会有各种各样的定时任务,例如,每天9点的打卡提醒任务、每个月定时统计工时任务、工作日的周一、周二、周五的开会提醒任务等。相关技术中,一般通过调用一个创建好的线程池内的线程定时地去执行配置好的定时任务,由于线程无法对任务进行区别对待,所有的任务只能公平地抢占线程资源。而一个业务系统包含大量的定时任务,如果需要执行的定时任务非常多而线程资源不足的情况下,部分定时任务就无法按照既定的计划被执行,会被延时执行,这种情况下任务执行的实时性无法得到保障。
技术实现思路
本专利技术提供一种任务执行方法、装置、电子设备、存储介质,以在线程资源不足的情况下,尽可能保障定时任务执行的实时性。具体地,本专利技术是通过如下技术方案实现的:第一方面,提供一种任务执行方法,应用于业务系统,所述业务系统包含多个定时任务;所述任务执行方法包括:确定待执行的定时任务的类型;若所述待执行的定时任务为一级任务,则在到达所述待执行的定时任务的开始执行时刻的情况下,调用线程池中的空闲线程以执行所述待执行的定时任务;若所述待执行的定时任务为二级任务,则判断所述线程池中空闲线程的第一数量是否大于所述多个定时任务中未执行的一级任务的第二数量,在所述第一数量大于所述第二数量且到达所述待执行的定时任务的开始执行时刻的情况下,调用所述空闲线程以执行所述待执行的定时任务,其中,所述一级 ...
【技术保护点】
1.一种任务执行方法,其特征在于,应用于业务系统,所述业务系统包含多个定时任务;/n所述任务执行方法包括:/n确定待执行的定时任务的类型;/n若所述待执行的定时任务为一级任务,则在到达所述待执行的定时任务的开始执行时刻的情况下,调用线程池中的空闲线程以执行所述待执行的定时任务;/n若所述待执行的定时任务为二级任务,则判断所述线程池中空闲线程的第一数量是否大于所述多个定时任务中未执行的一级任务的第二数量,在所述第一数量大于所述第二数量且到达所述待执行的定时任务的开始执行时刻的情况下,调用所述空闲线程以执行所述待执行的定时任务,其中,所述一级任务的优先级高于所述二级任务的优先级。/n
【技术特征摘要】
1.一种任务执行方法,其特征在于,应用于业务系统,所述业务系统包含多个定时任务;
所述任务执行方法包括:
确定待执行的定时任务的类型;
若所述待执行的定时任务为一级任务,则在到达所述待执行的定时任务的开始执行时刻的情况下,调用线程池中的空闲线程以执行所述待执行的定时任务;
若所述待执行的定时任务为二级任务,则判断所述线程池中空闲线程的第一数量是否大于所述多个定时任务中未执行的一级任务的第二数量,在所述第一数量大于所述第二数量且到达所述待执行的定时任务的开始执行时刻的情况下,调用所述空闲线程以执行所述待执行的定时任务,其中,所述一级任务的优先级高于所述二级任务的优先级。
2.如权利要求1所述的任务执行方法,其特征在于,若类型为二级任务的待执行的定时任务的第三数量为n个,n≥2,调用所述空闲线程以执行所述待执行的定时任务,包括:
判断所述第三数量是否大于所述第一数量与所述第二数量的差值i,i≥0;
在所述第三数量大于所述差值的情况下,调用线程池中的i个空闲线程以执行i个待执行的定时任务;
在所述第三数量不大于所述差值的情况下,调用所述线程池中的n个空闲线程以执行n个待执行的定时任务。
3.如权利要求2所述的任务执行方法,其特征在于,调用线程池中的i个空闲线程以执行i个待执行的定时任务,包括:
按照开始执行时刻的先后顺序对n个待执行的定时任务进行排序;
从n个待执行的定时任务中选取排序靠前的i个待执行的定时任务,并调用i个空闲线程以执行所述i个待执行的定时任务。
4.如权利要求1所述的任务执行方法,其特征在于,所述空闲线程包含正在执行预执行完毕的定时任务的线程,所述预执行完毕的定时任务为正在执行的定时任务中执行结束时刻早于所述待执行的定时任务的开始执行时刻的定时任务。
5.如权利要求1所述的任务执行方法,其特征在于,若所述第一数量不大于所述第二数量,所述任务执行方法还包括:
在正在执行的定时任务的执行时长大于时长阈值的情况下,停止执行所述正在执行的定时任务以释放线程。
6.一种任务执行装置,其特征在于,应用于业务系统,所述业务系统包含多个定时任务;
所述任务执行装置包括:
确定模块,用于确定待执行的定时任务的类型;
调用模块,用于在所述待执行的定时任务为一级任务且到达所述待...
【专利技术属性】
技术研发人员:张亮,
申请(专利权)人:杭州数梦工场科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。