实践任务调度之xxl-job

xxl-job是一个轻量级分布式任务调度平台。源代码地址:xxl-job【Gitee】xxl-job【Github】

SQL脚本:doc\db\tables_xxl_job.sql

【从2.1.0版本开始移除了对quartz的依赖,采用自研调度组件】在Quartz原生数据结构结构基础上新增如下5张表:

XXL_JOB_QRTZ_TRIGGER_GROUP:执行器

XXL_JOB_QRTZ_TRIGGER_INFO:任务

XXL_JOB_QRTZ_TRIGGER_LOG:调度日志

XXL_JOB_QRTZ_TRIGGER_LOGGLUE

XXL_JOB_QRTZ_TRIGGER_REGISTRY

需要在任务调度中心执行管理器中先手动添加执行器,而不是全自动注册的【可能处于安全等考虑】。执行器的AppName需要与执行器中定义的一致。对于自动注册的执行器,会通过执行器执行器注册服务登记IP和端口,对于手动录入的执行器则需要手动填写IP和端口。

任务管理中心任务管理中新建任务时,当运行模式选择BEAN,需要手动输入JobHandler的名字,而不是能够根据自动注册进行选择。【理论上讲可以做到自动注册,通过下拉框选择】

分片

有多少执行器就分多少片。

执行器注册的日志

1
2019-10-28 14:28:23 xxl-job-executor-sample-frameless [com.xxl.job.core.executor.XxlJobExecutor]-[xxl-rpc, NettyHttpServer-serverHandlerPool-1523214752]-[registJobThread]-[242]-[INFO] >>>>>>>>>>> xxl-job regist JobThread success, jobId:1, handler:com.xuxueli.executor.sample.frameless.jobhandler.DemoJobHandler@254989ff