故障排查

Hermes 定时任务没有执行:检查任务、时区与后台状态

先把“没有执行”拆成三种情况

定时任务问题通常有三类:任务根本没有创建、任务创建了但下一次时间计算不符合预期、任务实际触发但执行过程失败。三者需要不同的证据,不能只看聊天里有没有回复。

1. 列出任务并确认 Profile

先查看当前 Profile 下的任务列表:

hermes cron list

确认任务名称、启用状态、计划表达式和最近一次运行信息。命名 Profile 的任务状态与 default Profile 不一定相同,排查时必须记录启动命令和 Profile。

2. 核对时区和时间表达式

“每天早上八点”必须明确是服务器时区、系统时区还是任务配置指定的时区。可以先查看服务器当前时间:

date

再用一个距离当前时间很近的测试计划验证触发机制,验证完成后删除或停用测试任务。不要为了测试直接修改生产任务的执行时间。

3. 区分触发成功与任务失败

触发器成功不代表正文执行成功。检查最近运行记录、退出状态和错误输出。如果任务启动了但模型请求失败,应转到 API、网络或凭据排查;如果完全没有运行记录,应回到任务状态、时区和后台进程。

4. 检查后台服务是否仍在运行

VPS 重启、进程退出或权限变化都可能让定时任务停止。检查进程管理器或 Hermes 网关状态,确认服务的工作目录、环境变量和日志目录一致。不要只依赖一个“看起来还在”的 Shell 窗口。

5. 为生产任务增加可验证的输出

每次运行至少记录任务开始、任务结束、成功或失败状态,以及脱敏后的错误摘要。重要任务还应发送恢复通知,并对连续失败设置退避和告警去重,避免同时产生大量重复消息。

验收清单

#Hermes#Cron#定时任务#VPS