快速入门
介绍: XXL-JOB是美团点评中间件研发工程师许雪里开发的一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。目前已有多家公司接入xxl-job,包括比较知名的大众点评,京东,优信二手车,北京尚德,360金融 (360),联想集团 (联想),易信 (网易)等等....
官网地址:GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
XXL-JOB架构图:
源码下载地址: GitHub - xuxueli/xxl-job at 2.2.0
(1)打开XXL-job源码包xxl-job-executor-samples下xxl-job-executor-sample-springboot
(2)修改application.properties文件,修改调度中心Ip。
要点:
配置文件xxl.job.executor.appname执行的名字和调度中心-执行器管理列表中的AppName相同
如果没有,需要在执行器管理中新增。如果注册方式为自动注册,online地址无需添加,执行器启动后,会自动注册。
阻塞处理策略:在我们在任务管理中新增任务窗口,会看到一个较阻塞处理策略的设置
阻塞处理策略:调度过于密集执行器来不及处理时的处理策略。
-
单机串行(默认):调度请求进入单机执行器后,调度请求进入FIFO队列并以串行方式运行;
-
丢弃后续调度:调度请求进入单机执行器后,发现执行器存在运行的调度任务,本次请求将会被丢弃并标记为失败;
-
覆盖之前调度:调度请求进入单机执行器后,发现执行器存在运行的调度任务,将会终止运行中的调度任务并清空队列,然后运行本地调度任务;
阻塞测试:
将cron表达式设置为0/5 * * * * ?
即每5秒执行一次,而任务的执行时间要大于10秒(cron表达式下面有解释)
- 如果选择单机串行:所有任务最终都会成功执行,但是会产生大量的任务积压
- 如果选择丢弃后续调度,当没有执行完成当前的任务,会把后续的调度丢弃
- 如果选择丢弃后续调度,所有任务都会调度成功,但是会执行失败。
cron表达式:
7个域 每个域用空格分隔
秒 分 小时 日 月 周 年(可省略)
通配符 * ?/ , 每个表达式 日 和周 必须有一个为?
每天下午4点整执行 0 0 16 * * ?
每天间隔30秒执行 0/30 * * * * ? 0/30 * * ?* *
每周日下午5点执行 0 0 17 ?* 1
从每月奇数日 下午3点30分8秒执行 30 30 15 1/2 * ?