Homelab
后台任务
调度 cron 和间隔任务,即使主窗口关闭也能持续运行。
后台任务调度器按照 cron 表达式或固定间隔运行任务,即使 Dockerman 主窗口关闭时也能继续运行。它是 stats 聚合、保留清理和镜像升级检查的引擎。
工作原理
调度器使用系统托盘保持运行。当你关闭主窗口时,Dockerman 会移动到托盘,任务继续运行。退出托盘图标会停止所有后台任务,Dockerman 会在退出前提醒你。
内置任务类型
Dockerman 预装了以下任务类型。每种类型都已预注册,可以在任务页面启用或配置。
| 类型 | 用途 | 默认调度 |
|---|---|---|
stats_aggregation | 将原始 5 秒 stats 样本汇总为 5 分钟聚合 | 每 30 分钟 |
stats_retention_prune | 删除过期的原始样本(超过 1 小时)和过期的聚合数据(超过 7 天) | 每 60 分钟 |
image_upgrade_check | 检查订阅的镜像在镜像仓库上是否有新版本 | 每 6 小时 |
auto_backup 和 auto_prune 等额外类型计划在未来的版本中推出。
任务页面
打开任务页面可以一目了然地查看所有已注册的任务,包含运行快照和内置的管理界面。
每行显示:
- 类型和可读的描述
- 调度(cron 表达式或间隔)
- 下次运行倒计时
- 上次运行时间和结果(成功、失败及错误信息)
- 启用开关
内置任务与用户任务
内置任务(stats_aggregation、stats_retention_prune、image_upgrade_check)禁止删除,以保证依赖它们的功能持续工作。你仍然可以更改其调度、启用/禁用它们或触发立即运行。用户创建的任务则拥有完整的删除和编辑权限。
管理任务
更改调度
从任意任务的行中编辑其调度。你可以设置 cron 表达式(例如 0 */2 * * * 表示每 2 小时)或固定间隔(秒)。
启用或禁用
切换任务的开关状态。禁用的任务保留在列表中,但在重新启用前不会运行。
立即运行
点击立即运行可立即触发任务,无论其调度如何。运行会出现在任务历史中,就像任何计划运行一样。
查看历史
展开任务行可查看最近 N 次运行,包括开始时间、持续时间、状态和任何错误信息。
数据存储
任务定义和运行历史存储在本地 SQLite 数据库中。
| 表 | 内容 |
|---|---|
tasks | 任务 ID、类型、调度、启用标志、配置和创建时间 |
task_runs | 运行 ID、父任务、开始和结束时间戳、状态和错误信息 |
提示
调度器仅在 Dockerman 位于系统托盘或主窗口打开时运行。如果你需要任务在完全退出应用后仍然存活,系统服务模式计划在未来的版本中推出。
- 全新安装后检查任务页面,确保
stats_aggregation和stats_retention_prune已启用。它们默认是开启的。 - 如果磁盘使用量增长,缩短保留清理间隔或在设置中降低保留窗口。
- 当你添加第一个镜像升级监控时,
image_upgrade_check任务会自动创建。