xxl-job:定时任务执行流程及调度机制

文章详细介绍了XXL_JOB框架如何实现定时任务的触发和执行。利用xxl_job_info表的cron字段设定定时时间,如083**?表示每天3点08分执行。调度时,系统会将nextTriggerTime小于当前时间加5s的任务预读并由线程每秒检查时间轮,执行达到触发时间的任务,同时更新下次执行时间。
摘要由CSDN通过智能技术生成
定时触发的实现,主要是依靠:

xjob提供的 xxl_job_info sql文件

xxl_job_info 中 cron字段是规定定时时间,0 8 3 * * ? ,分别对应秒,分钟,小时,天,月

就是每天三点零8分执行这个任务

trigger_last_time字段是最后执行时间 (毫秒值)

trigger_next_time字段是下一次执行时间 (毫秒值)

详细的JobScheduleHelperCron定时触发 这个阶段流程图如下:

xxl-job的框架中,在调度任务的时候,首先会将任务下次需要执行的时间nextTriggerTime放入到jobinfo表中,然后后台有一个线程在每隔个5s左右捞取从此刻到将来5秒内需要执行的指定数量的任务,即nextTriggerTime < nowTime + 5s的预读时间,在此时会判断,五秒外跳过,五秒内收录,等于五秒执行,五秒内的,需要另一个线程来每秒捞一次时间轮 ,获取达到触发时间的任务,执行并且更新下一次触发时间

任务触发和执行的 完整的任务触发执行总体流程图 如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值