任务计划
介绍
方便的维护一些周期性的任务,例如:在一个下单交易的应用里,超时未支付的订单需要被关闭掉,就可以通过任务计划模块添加一个任务来每隔 1 分钟调用一次应用的某接口来让应用检查那些超期未支付的订单。任务可以在多台主机或 Spug 本机上执行,支持 Shell 与 Python 脚本。

新建任务
新建任务分三步:创建任务 → 设置触发器 → 选择执行对象。
1. 创建任务

- 任务类型:任务的分类,可在下拉框中直接输入新的类型。
- 任务名称:任务名称。
- 任务内容:要执行的脚本,支持
Shell与Python,可以点击 从模板添加 复用批量执行的命令模板。 - 失败通知:任务执行失败时发送通知,支持
钉钉、飞书、企业微信群机器人以及自定义Webhook。 - 备注信息:可选。
2. 设置触发器

| 触发器 | 说明 |
|---|---|
| 普通间隔 | 每隔指定的 N 秒执行一次 |
| 一次性 | 仅在指定时间运行一次 |
| UNIX cron | 兼容 crontab 风格的执行规则,例如 0 1 * * * 表示每天凌晨 1 点,支持 1-5、2-5/2、1,3,5 等写法,页面会实时显示接下来的预估执行时间;可以设置生效时间与结束时间 |
| 监控告警 | 当选择的监控项触发告警时执行,用于故障自愈,例如进程检测异常时自动重启服务 |
3. 选择执行对象

- 执行对象:可以选择一台或多台主机,也可以选择 本机(即
Spug服务运行所在的容器或主机)。 - 触发器为 监控告警 时还可以选择 告警关联主机,即触发告警的那台主机(仅进程检测与自定义脚本类型的监控项有关联主机)。
任务管理
- 新建的任务默认为 未激活 状态,在列表的 更多 菜单中 激活任务 后才会按触发器调度,也可以随时 禁用任务;该菜单还提供 执行测试、历史记录 与 删除。
- 更多 / 执行测试:立即在执行对象上执行一次任务,便于调试脚本。
- 详情:查看任务的执行记录,包含每次执行的状态、耗时、输出,以及成功 / 失败次数与平均耗时统计。

执行历史仅保留每个任务最近 50 条记录,多余的记录将会被自动删除。