> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# 定时任务

在管理后台的「定时任务」页面，可以查看内置任务的用途、运行间隔、启动时执行设置、成功与失败次数，以及最近执行时间。点击任务行或编辑按钮即可修改配置。

## 可配置项

| 配置           | 说明                              |
| ------------ | ------------------------------- |
| 运行间隔         | 可按小时、分钟、秒填写，最短为 1 秒；保存后按新间隔重新计时 |
| 服务器启动时立即执行一次 | 开启后，每次服务器启动时执行一次，之后继续按运行间隔执行    |

启动时执行设置在**下一次服务器启动**时生效，包括后台触发的服务重启。保存或重新加载任务配置不会触发这次执行；仅修改此开关也不会重置当前任务的周期计时。关闭开关只取消启动时的额外执行，不会停用周期任务。

任务在后台执行，不同任务可能同时运行。同一任务尚未完成时，会跳过下一次周期触发；执行结果可在页面查看。

该设置作用于每个服务器实例的启动，并非整个集群只执行一次。页面中的「下次运行」是根据最近一次完成时间和运行间隔推算的参考值，不代表下次服务器启动时间。

## 默认任务配置

以下为新建任务记录时的默认值。管理员保存的启动时执行设置会保留，服务器重启不会用默认值覆盖它。

| 任务名称                   | 用途                    | 默认间隔  | 启动时执行 |
| ---------------------- | --------------------- | ----- | ----- |
| `WarmChallengeImages`  | 预热未结束比赛题目的镜像，复查拉取失败节点 | 15 分钟 | 关闭    |
| `CloseTimeoutVictims`  | 关闭超时靶机                | 1 分钟  | 开启    |
| `CloseUnCtrlVictims`   | 清理失控靶机                | 10 分钟 | 开启    |
| `SyncFrpsPortLocks`    | 校准 FRPS 端口占用缓存        | 10 分钟 | 关闭    |
| `ClearEmptyTeam`       | 清理没有成员的空队伍            | 5 分钟  | 开启    |
| `UpdateFlagScore`      | 重算 Flag 分数与解题人数       | 5 分钟  | 开启    |
| `UpdateUserRanking`    | 刷新用户得分与排名             | 3 小时  | 开启    |
| `UpdateTeamRanking`    | 刷新队伍得分与排名             | 5 分钟  | 开启    |
| `StopUnCtrlGenerator`  | 清理失控附件生成器 Pod         | 10 分钟 | 开启    |
| `ClearSubmissionMutex` | 清理解题提交锁缓存             | 10 分钟 | 关闭    |
| `CheckCheat`           | 扫描比赛作弊事件              | 10 分钟 | 开启    |
| `ClearCheatMutex`      | 清理作弊检测锁缓存             | 10 分钟 | 关闭    |
| `ClearJoinTeamMutes`   | 清理队伍加入锁缓存             | 10 分钟 | 关闭    |
| `ReindexPostgres`      | 并发重建 PostgreSQL 索引    | 24 小时 | 关闭    |

系统指标和日志采集自动运行，无需在此页面设置。

## 检查执行结果

修改后查看最近执行时间和成功、失败次数。持续失败时，到「日志」查看对应任务的错误，并检查数据库、集群或外部服务状态。

查看任务需要 `admin:cronjob:list`，修改配置需要 `admin:cronjob:update`。
