【调度中心】开发平台调度模块知识锦集-持续更新
1. 基本知识
2. 调度相关系统参数解析
Schedule.Env | 环境变量 | dev为开发环境,prod为生产环境 |
Schedule.zk.server | 调度zk地址 | |
Schedule.zk.path | 调度zk根目录 | |
Schedule.disableToWork | 是否启用调度 | 为true时禁用调度服务,一般情况下,web节点和轻分析节点不启用调度 |
mq.consumer.register | 是否启用消息队列消费 | 调度使用MQ传递消息,为false时调度不提供服务 |
Schedule.Message.Mode | 消息模型 | 目前只有MQ这种模式 |
Schedule.deployMode | 部署模式 | DISABLE:该节点不启用【调度服务】和【执行服务】,即整个【调度服务】都不启动。 SCHEDULE_NODE:该节点作为【调度服务】的节点,如果为主节点,负责分发异步作业和扫描数据库,生成定时作业,并调度。 EXECUTE_NODE:该节点作为【执行服务】节点,负责执行调度作业。 NOLIMIT:该节点什么都干。 |
Schedule.Executor.NumOfWorkThread | 执行机最大线程数 | 默认为8 |
webmserviceinone | web节点是否启用mservice服务 | 分应用部署下(appSplit=true),web节点下值为false,不分应用部署下(appSplit=false),web节点下值为true,需要注意是否加载全量jar包 |
Schedule.Message.AccessType | 当前节点允许执行的调度任务 | 1、不配置此参数时,默认三种都支持 2、值:["BIZJOB","REALTIMEJOB","WorkFlowJOB"] 3、[]:三种都不支持 说明
|
3. 排查步骤
4. 常见问题
Q1:为什么调度作业列表有些作业名称为“自动生成”?
包含两种情况:
(1)通过代码创建的调度作业,没有传作业名称的。
(2)调度任务还在运行中,调度作业被删除了,任务在结束的时候,会生成运行错误日志并且自动生成名称为“自动生成”的调度作业。
Q2:正在执行中的调度任务如何进行取消操作?
目前无法取消
5. 关于调度中的消息队列
调度任务待执行队列
作用:调度计划、接口等触发的调度任务会发往【调度任务待执行队列】
队列名:{appId}_schedule._${Schedule.zk.path}_schedule_task_{JobType};如果不是分应用部署,则没有appId;{JobType}为作业类型,如BIZJOB、REALTIMEJOB、WorkFlowJOB
样例:wf.schedule._schedule_patchcore_test_schedule_task_WorkFlowJOB
wf.schedule._schedule_patchcore_test_schedule_task_BIZJOB
调度任务转发队列(后续会废弃,直接把任务发布到【调度任务待执行队列】)
作用:调度计划生成的调度任务会先发送到【调度任务转发队列】,由【调度任务转发队列】统一把待执行任务转发到【调度任务待执行队列】
队列名:schedule._${Schedule.zk.path}_schedule_job_dispatch
注意:开发模式下队列名会加上IP地址后缀
6. 调度模块应用案例
【调度中心】开发平台调度模块知识锦集-持续更新
本文2024-09-23 00:19:58发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-138795.html