定时任务与后台作业
适用基线:测试环境目标 / dev 分支 / 2026-07-15。
阅读对象:测试、实施、运维(主)。
本页解决什么问题
定时任务与后台作业在无人值守时执行周期性或批量处理(计划生成、清理、失败补偿、常量刷新等)。读完本页,应能进入调度控制台判断启停/执行器/失败日志,并与 WMS/MES 业务「任务单」严格区分。
何时用本页 / 不归本页
| 何时进来 |
不归本页 |
| 到点没跑、要启停/补跑、看执行日志 |
收货任务/发料任务等业务单据 → WMS/MES 业务列表 |
| 怀疑后台作业导致业务无结果 |
某 Handler 的业务条件与开关细则 → 对应业务页;异步接口失败重试 → 数据交换 |
| 确认执行器是否在线、环境是否抢调度 |
在 MOM 内找内嵌 Quartz 管理页当主入口(当前不以应用内嵌页为主) |
如何使用本组文档
| 你的目的 |
建议阅读 |
| 进入调度控制台启停/查看任务 |
本页 |
| 理解异步接口失败如何重试 |
数据交换与集成可靠性 |
| 查某业务是否由定时任务驱动 |
对应业务页 + 本页「当前形态」 |
| 查作业相关日志 |
日志、审计与运行监控 |
使用前准备
| 需要确认什么 |
为什么重要 |
| 调度控制台地址与账号 |
菜单通常跳转到独立调度管理端,不是业务列表页。 |
| 执行器是否在线 |
任务有定义但执行器离线则不会跑。 |
| 租户/环境是否匹配 |
多租户场景下任务参数常按租户区分。 |
| 谁有权手动触发 |
补跑属于高风险操作,需授权与审计。 |
📷 截图占位
调度控制台任务列表与一次执行日志;脱敏。
当前形态
flowchart LR
A["调度控制台配置 Cron/参数"] --> B["触发已注册的作业 Handler"]
B --> C["业务或平台逻辑执行"]
C --> D["成功 / 失败日志与可选补偿"]
| 主题 |
当前结论 |
| 调度引擎 |
当前采用独立调度平台(XXL-Job)管理定时任务;应用内「定时任务分页」接口提示改走该平台。 |
| 菜单入口 |
系统菜单中的「定时任务」指向调度管理端登录地址(环境相关)。 |
| 作业实现 |
业务与基础设施模块中注册了多个命名 Handler(如补料/发料相关自动创建、盘点计划、清理、日志清理、异步失败重试类作业等)。 |
| 与仓储任务区别 |
WMS「收货任务/发料任务」是业务单据对象;本页的「定时任务」是调度作业,二者不要混称。 |
| 异步后台 |
除 Cron 外,还有消息/异步方法成功失败记录,见数据交换页。 |
关键判断
| 判断点 |
应先确认什么 |
影响 |
| 任务没跑 |
调度启用状态、Cron、执行器在线、参数。 |
先查控制台再查业务数据。 |
| 跑了但业务无结果 |
Handler 业务条件、租户、开关。 |
回业务页规则。 |
| 是否重复执行 |
作业是否幂等、是否允许多实例。 |
高风险作业需锁与幂等设计(逐作业确认)。 |
| 想在 MOM 里配 Quartz 页 |
当前不以应用内嵌 Quartz 管理页为主。 |
使用调度控制台。 |
建议验证点
- 从菜单外链进入调度控制台;确认目标任务启用、执行器在线,能看到至少一条执行日志。
- 「没跑」:先控制台状态/Cron/执行器,再查业务数据;「跑了无结果」:回业务页条件与租户。
- 培训话术中明确区分:调度作业 ≠ 仓储收货/发料任务单;生产改 Cron 需变更窗口。
查询与联查
| 场景 |
建议看什么 |
联查 |
| 执行失败 |
调度控制台执行日志、异常栈。 |
业务单据、接口信息。 |
| 清理类作业误伤 |
作业参数(保留天数等)。 |
文件/日志页。 |
| 异步失败堆积 |
异步方法失败记录与重试。 |
数据交换页。 |
常见问题与处理
| 情况 |
建议处理 |
| 把业务「任务单」当成定时任务 |
引导到 WMS/MES 业务任务列表。 |
| 生产随意改 Cron |
变更需评审窗口与回滚方案。 |
| 控制台地址过期 |
按当前环境更新菜单外链,不写死培训地址。 |
当前限制与待确认事项
- 全量 Handler 业务清单与幂等矩阵待建立;
- 告警订阅(邮件/钉钉)与调度失败联动待环境确认;
- 手动触发权限与操作审计在调度平台侧的配置待运维规范;
- 演示/样例 Handler 与生产启用清单需环境核对,避免把 demo 作业写成必开。
待补充的图示与示例
| 类型 |
后续补充 |
目的 |
| 入口说明 |
菜单外链到控制台。 |
实施。 |
| 作业索引 |
按业务域列出已注册 Handler 名称。 |
排障。 |