xxl-job源码分析
2024-03-22 10:57:08 24 举报
分布式任务开源框架
作者其他创作
大纲/内容
beat/idleBeat/run/kill/log
com.xxl.job.admin.core.thread.JobLogReportHelper.getInstance().start();1 初始化从日志中统计job运行结果,定时删除过期日期线程
调用父类的start方法:XxlJobExecutor.start
initI18n初始化国际资源
com.xxl.job.admin.core.trigger.XxlJobTrigger执行具体job的实际运行操作
process方法处理admin过来的的 beat/idleBeat/run/kill/log调用
保存job日志
初始化日志清理线程JobLogFileCleanThread.getInstance().start(logRetentionDays)
init方法
com.xxl.job.core.executor.XxlJobSpringExecutor依赖spring框架的执行器
JobRegistryHelper.getInstance().registry
com.xxl.job.admin.core.thread.JobScheduleHelper.getInstance().start()1 初始化获取任务线程,周期性的取出一批任务放入JobTriggerPoolHepler中的线程池执行2 初始化任务时间轮线程,周期性从时间轮中获取任务并放入JobTriggerPoolHepler中的线程池执行
XxlJobScheduler
初始化回调以及重试回调线程JobLogFileCleanThread.getInstance().start(logRetentionDays)
xxl-core jar
具体地址选择路由算法实现
ExecutorRouter
callback
com.xxl.job.admin.core.thread.JobFailMonitorHelper.getInstance().start();1 初始化失败job监控线程,根据日志找出job重试次数,进行job的重试2 发送告警邮件,如果配置了邮件地址
启动
initJobHandlerMethodRepository初始化job执行处理器方法库
getExecutorBiz
初始化job调用参数
xxl-admin
netty SimpleChannelInboundHandler
接口实现
ExecutorBiz
注册执行器到admin
com.xxl.job.admin.core.thread.JobCompleteHelper.getInstance().start();1 初始化从日志中获取长时间处于运行中的任务并进行处理的线程池 线程
继承
com.xxl.job.core.executor.XxlJobSimpleExecutor不依赖框架的执行器
JobApiController
ExecutorBizClient
XxlJobAdminConfig
JobCompleteHelper.getInstance().callback
job执行的客户端
afterPropertiesSet
XxlJobRemotingUtil
com.xxl.job.admin.core.thread.JobRegistryHelper.getInstance().start()1 初始化job执行器的注册与移除处理线程2 初始化job执行器监控线程池
初始化 EmbedHttpServerHandler
com.xxl.job.admin.core.thread.JobTriggerPoolHelper.toStart()1 初始化任务执行耗时较少的处理线程池2 初始化任务执行耗时较长的处理线程池3 增加任务到线程池
com.xxl.job.core.biz.client.AdminBizClient
callback/registry/redistryRemove
registryRemove
依赖
AdminBizImpl
java net http请求,postBody
初始化日志路径XxlJobFileAppender.initLogPath(logPath);
客户端自定义类,方法上标注XxxJob,用于实际处理job的具体业务
初始化嵌入服务器启动线程initEmbedServer
AdminBiz
根据job配置的路由策略获取一个路由器
GlueFactory.refreshInstance(1);刷新GLUE工厂
EmbedServer.start
registry
定时删除这个日志文件
启动netty ServerBootstrap绑定调度处理端口,处理admin过来的调度http请求
com.xxl.job.core.executor.XxlJobExecutor
0 条评论
下一页