当前位置: 首页 > 工具软件 > HZERO > 使用案例 >

Hzero调度服务 主要功能点源码分析

管杜吟
2023-12-01

HZERO版本:1.0.0.RELEASE

调度结果和客户端执行结果回写逻辑
发起调度
org.hzero.scheduler.infra.job.MyJob#execute

客户端执行
org.hzero.boot.scheduler.app.service.impl.JobExecuteServiceImpl#jobExecute
串行任务和lockTime配置
参数设置
org.hzero.scheduler.domain.service.impl.JobServiceImpl#getMap

逻辑调用
org.hzero.scheduler.infra.job.MyJob#execute
if (Objects.equals(serial, Flag.YES) && !JobLock.addLock(jobId)) {
        logger.info(" Scheduler Job Locked.  JobId : {} ", jobId);
    }
IJobHandler原理 & Job
IJobHandler
org.hzero.boot.scheduler.infra.init.ExecutorInit#scanJobHandler

org.hzero.boot.scheduler.app.service.impl.JobExecuteServiceImpl#jobExecute
Job

QuartzSchedulerThread通过ThreadPool来执行封装Job的JobRunShell;

Job接口是要实现execute方法的.JobRunShell run方法会实例化job实现类,然后调用execute.run方法

org.quartz.core.QuartzSchedulerThread#run

org.quartz.core.JobRunShell#run
失败处理策略 & 重试次数
org.hzero.scheduler.infra.job.MyJob#failureStrategy
执行器 & 执行器策略
org.hzero.scheduler.domain.service.impl.UrlServiceImpl#getUrl
报警邮件
org.hzero.scheduler.infra.job.MyJob#failCallback
任务参数
设置参数
org.hzero.scheduler.infra.job.MyJob#execute

转化参数
org.hzero.boot.scheduler.app.service.impl.JobExecuteServiceImpl#jobRun
Cron & 周期性 & 有效时间
org.hzero.scheduler.domain.service.impl.JobServiceImpl#buildTrigger
自动初始化
org.hzero.scheduler.infra.init.SchedulerServiceInit#run
 类似资料: