核心概念与执行生命周期
先区分“定义要做什么”和“这一次实际做了什么”。iJob 1.0.0 的任务保存会发布版本,作业使用“保存并发布”;这两个动作都不会自动执行。
从配置到结果
定义准备先定义要做什么保存 / 发布 ≠ 执行
01
资源与参数
连接配置 · 输入约定为任务提供访问能力和输入。任务也可不引用外部资源。
02
任务定义与版本
配置插件 → 保存并发布任务保存形成已发布版本,但不会因此自动执行。
03
作业编排与发布
依赖 · 网关 · 子作业发布时固定所引用的任务和子作业版本。
↓已发布定义 + 本次输入
一次执行再追踪这一次做了什么点击阶段查看说明
记录一次执行请求
触发记录保留来源、时间与输入。调度启用只是允许后续产生触发;触发已受理不代表已开始执行。
资源按需引用 · 版本固定定义 · 日志贯穿运行 · 结果回到业务
资源按需由任务引用;任务也可以没有外部资源。作业发布时固定引用的任务、子作业版本。一次触发记录来源、时间与输入;满足执行条件后创建或推进相应实例。调度、并发、路由、资源和实例状态都会影响实际执行。
概念之间的关系
| 概念 | 在 iJob 中的含义 | 例子 |
|---|---|---|
| 资源 | 任务使用的连接及访问配置,不是任务本身 | 业务 PostgreSQL、SSH 主机、HTTP 服务 |
| 任务 | 选择一种插件并配置一次执行动作 | 查询订单、调用接口、执行脚本 |
| 作业 | 用节点、依赖、网关组织任务和子作业的流程 | 提取订单 → 检查数据 → 下游处理 |
| 子作业 | 被另一个作业节点引用的已发布作业 | 复用统一的数据检查流程 |
| 版本 | 发布后的定义快照;历史版本只读 | 父作业仍引用任务旧版本 |
| 发布 | 形成可执行或可被引用的定义版本 | 保存任务、保存并发布作业 |
| 启用 | 对象是否允许相应操作的开关;具体作用按对象说明 | 启用调度允许后续按计划产生触发 |
| 触发 | 一次执行请求及其来源、时间、输入记录 | 手动点击执行、计划时间到达 |
| 实例 | 一次执行的身份与状态记录 | 根实例及其节点/子实例 |
| 运行 | 实例从等待、执行到终态的过程 | 查看运行拓扑、停止或重试 |
| 参数模板 | 输入项的名称、类型、校验与默认值 | 必填 batchDate、整数 limit |
| 变量 | 输入、系统上下文及节点输出 | 本次 limit、实例 ID、上游 rows |
业务账号 ADMIN/OPERATOR/VIEWER 与节点角色 API/SCHEDULER/WORKER/MAINTENANCE 属于不同维度,参阅权限与部署拓扑。
保存、发布、启用、触发、成功各代表什么
| 动作或状态 | 可以据此确认 | 还需要确认 |
|---|---|---|
| 任务保存成功 | 新定义版本已发布 | 没有因此自动运行 |
| 作业保存并发布成功 | 发布事务选取并固定子对象当前版本 | 预检时看到的版本不等于已锁定版本 |
| 对象启用 | 对应开关已打开 | 调度到期、路由及其他条件是否满足 |
| 触发已受理 | 平台收到执行请求 | 是否生成实例、是否开始执行 |
| 实例 SUCCESS | 平台按插件/流程规则判定完成 | 目标系统数据和业务条件是否符合预期 |
| 停止或超时 | 平台已处理控制请求或期限 | 远端进程、外部写入是否仍在继续 |
一个版本引用例子
- 保存任务 A,得到它的一个已发布版本。
- 将 A 加入作业 B,保存并发布 B。
- 修改 A 并保存,得到 A 的新版本。
- B 的旧版本仍然引用原来的 A;它不会被 A 的更新改写。
- 要让 B 使用新的 A,重新校验并发布 B,再检查发布引用。
产品版本 1.0.0、任务/作业定义版本、Local JAR 协议和数据库迁移编号不是同一套编号。
事件有两种进入流程的方式
- 事件绑定触发:匹配事件后产生新的执行请求。
- 等待事件或审批:已有实例进入等待,匹配事件或符合条件的审批后继续原流程。等待本身不是失败。
审批需要账号权限、允许操作人和可处理状态同时满足。停止、超时、重试也不自动撤销目标系统已经完成的写入。