定时任务
定时任务用于管理后台周期性任务、手动触发任务和任务执行日志。RuoYi Office PC 管理端入口位于 apps/web-antd/src/views/infra/job,列表页调用 /infra/job/*,日志页调用 /infra/job-log/*。框架侧集成 XXL-Job 自动配置,位于 yudao-framework/yudao-spring-boot-starter-job。
管理端能力
| 能力 | 前端入口 | 接口 |
|---|---|---|
| 任务分页 | views/infra/job/index.vue | GET /infra/job/page |
| 新增/编辑 | 任务表单弹窗 | POST /infra/job/create、PUT /infra/job/update |
| 启停任务 | 列表操作列 | PUT /infra/job/update-status |
| 手动执行一次 | 列表操作列 | PUT /infra/job/trigger?id= |
| 批量删除/导出 | 工具栏 | /infra/job/delete-list、/infra/job/export-excel |
| 执行日志 | views/infra/job/logger | GET /infra/job-log/page |
推荐使用流程
任务字段建议
| 字段 | 说明 | 建议 |
|---|---|---|
| 任务名称 | 运营和研发识别用 | 使用业务语义,如“员工离职状态同步” |
| 处理器名称 | 后端 Job Handler 标识 | 与代码中的 Handler 名称保持一致 |
| 处理器参数 | JSON 或简单字符串 | 复杂参数建议写 JSON,并在 Handler 内校验 |
| Cron 表达式 | 调度周期 | 先在测试环境验证下一次执行时间 |
| 重试次数/间隔 | 失败重试策略 | 外部接口调用任务可适当重试,幂等任务优先 |
| 监控超时 | 超过阈值视为异常 | 长耗时任务要合理放宽,避免误报 |
排查清单
| 现象 | 优先检查 |
|---|---|
| 任务不执行 | 状态是否启用;Cron 是否正确;XXL-Job 执行器是否在线 |
| 手动执行失败 | Handler 名称是否存在;参数格式是否正确;后端日志异常 |
| 重复执行导致脏数据 | Handler 是否幂等;是否按业务主键去重 |
| 日志查不到 | 是否跳转时带了 jobId;日志表是否写入;筛选条件是否过窄 |
