首页 > 教程攻略 > ai资讯 >Hermes Agent 定时任务(Cronjob)设置教程,让AI替你24小时值班【自动化】

Hermes Agent 定时任务(Cronjob)设置教程,让AI替你24小时值班【自动化】

来源:互联网 时间:2026-06-05 12:39:26

Hermes Agent 支持 Cronjob 定时任务,但前提是得跑在 Kubernetes 集群或 Docker Compose 高级部署上,版本也得是 v2.3.0 以上。配置好 YAML 文件后,通过 kubectl 或 Web 控制台部署并启用,再验证状态、Job 和日志,就能确认任务是否执行成功。

Hermes Agent 定时任务(Cronjob)设置教程,让AI替你24小时值班【自动化】

每天早上 8 点自动汇总昨日销售数据、每周一上午 9 点推送周报、或者每 5 分钟检查一次新订单并触发通知——这些场景用 Hermes Agent 的 Cronjob 都能搞定,不用守着电脑,让 AI 替你 24 小时值班。

确认 Hermes Agent 已支持 Cronjob 功能

先登录管理后台,左侧导航栏找到「部署设置」→「运行模式」,确认当前是「Kubernetes 集群部署」或「Docker Compose 高级部署」——单机版 Docker 镜像默认不带 Cronjob 调度能力,

必须切换到集群部署形态才能启用定时任务

然后去「系统信息」页面核对 Agent 版本号:v2.3.0 及以上才完整支持 Cronjob YAML 定义和 Web 界面触发绑定。

编写 Cronjob 配置文件(YAML 格式)

本地新建一个文本文件,比如 hermes-daily-report.yaml,粘贴下面的内容:

apiVersion: batch/v1
kind: CronJob
metadata:
name: hermes-daily-report
namespace: hermes-system
spec:
schedule: "0 0 * * *" # 每天凌晨0点执行
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: runner
image: registry.hermes.ai/agent:v2.4.1
args: ["--task=report:daily", "--output=slack"]
env:
- name: HERMES_API_KEY
valueFrom:
secretKeyRef:
name: hermes-creds
key: api-key

注意 schedule 字段用的是标准 Unix cron 语法,"0 0 * * *" 对应“分 时 日 月 周”。别写成 "0 0 * * 1" 想表达每周一——那样会漏掉其他六天;如果要每周一早 8 点运行,应该写成 "0 8 * * 1"。

将 Cronjob 部署到 Kubernetes 集群

两种方式任选其一:

方法一:kubectl 命令行部署
确保 kubeconfig 已配置且 context 指向目标集群,直接执行:
kubectl apply -f hermes-daily-report.yaml

方法二:通过 Hermes Agent Web 控制台上传
进入「运维中心」→「定时任务」→「+新建 Cronjob」→ 点击「上传 YAML 文件」→ 选择刚才保存的 hermes-daily-report.yaml → 点击「校验并提交」。

注意:提交前务必勾选“启用”开关,否则 YAML 虽然生效但不会触发任何调度。

验证 Cronjob 是否正常运行

第一步:检查 Cronjob 资源状态
kubectl get cronjob -n hermes-system,输出中 STATUS 列应为 Active,AGE 大于 0s。

第二步:查看最近一次生成的 Job
kubectl get jobs -n hermes-system --sort-by=.status.startTime | tail -n 1,确认名称以 hermes-daily-report- 开头,且 COMPLETIONS 为 1/1。

第三步:获取该 Job 对应 Pod 的日志
先查 Pod 名:kubectl get pods -n hermes-system --selector=job-name=hermes-daily-report-xxxxx,再执行:kubectl logs -n hermes-system 。如果日志末尾出现 "Task completed: report:daily → sent to Slack",就说明执行成功了。