节点角色、分组与允许范围

调整位置与匹配顺序

平台节点的值写入 application.properties 并重启;任务/作业的分组在定义中维护并按发布语义生效。节点名用于追踪,各节点应不同。角色 API/SCHEDULER/WORKER/MAINTENANCE 是职责分工;领取执行需要 WORKER,拆分部署仍须有人承担其他必要职责。

app.runtime.instance-name=worker-finance-a
app.runtime.groups=finance,nightly
app.runtime.allowed-task-ids=101,102
app.runtime.allowed-job-ids=201

以上 ID 仅示意,改为本环境实际 ID。分组统一去首尾空格、转小写、去重;最多 16 个,每个 1–64 字符,匹配 [a-z0-9][a-z0-9._-]{0,63}。ID 为正整数,每个列表最多 100 个去重值。

条件 匹配结果
定义没有分组 不限制节点分组
定义有分组 与节点分组至少一个交集
节点没有分组 只能匹配没有分组限制的定义
两个 ID 白名单都空 不限制根触发目标 ID
仅任务列表非空 只接受所列独立任务根;不接受作业根
仅作业列表非空 只接受所列作业根;不接受独立任务根
两个列表都非空 按根目标类型匹配对应列表,再同时满足分组

这是领取范围,不是登录权限或脚本安全沙箱,也不是对作业内每个后代任务逐一授权。验证时分别创建一个匹配和一个不匹配的无副作用任务,观察触发/排队与执行节点;不能只看保存成功。修改前确保原有排队工作仍有可接手 Worker。

本主题配置索引

下列为源码/实现默认值;初始化覆盖、来源和完整说明见完整清单。

ID / 配置键 级别 / 类型 默认值来源 说明
C036 / app.runtime.instance-name A / text ${IJOB_RUNTIME_INSTANCE_NAME:} 节点标识;集群各节点取不同名称,便于追踪运行。
C037 / app.runtime.roles B / enum-list ${IJOB_RUNTIME_ROLES:API,SCHEDULER,WORKER,MAINTENANCE} API/SCHEDULER/WORKER/MAINTENANCE 职责;部署前确保所需角色仍有人承担。
C038 / app.runtime.groups A / text-list ${IJOB_RUNTIME_GROUPS:} 节点执行分组;与发布定义的分组匹配,空节点分组并不表示能接所有分组。
C039 / app.runtime.allowed-task-ids A / id-list ${IJOB_RUNTIME_ALLOWED_TASK_IDS:} 允许领取的根触发目标任务 ID;与作业白名单共同限制范围,见组合规则。
C040 / app.runtime.allowed-job-ids A / id-list ${IJOB_RUNTIME_ALLOWED_JOB_IDS:} 允许领取的根触发目标作业 ID;不等价于对子作业内每个任务逐一授权。

文档版本 1.0.0。命令中的示例路径、资源和端口需替换为自己的环境。