及时知道你的 Laravel 调度器何时停止运行。
当 schedule:run 在某次部署中崩溃、队列 worker 卡死,或 Horizon 停止处理任务时,没有任何东西会提醒你。添加一个计划健康检查,在你的调度器、队列和 Horizon 正常时 ping Holter;如果心跳缺失,Holter 会开启一个事件。
无需信用卡 · 提供免费套餐 · 几分钟内即可开始监控。
问题
一次失败的部署就可能让 schedule:run 每分钟都崩溃——或者干脆不再运行。队列 worker 悄悄挂掉,Horizon 停止处理任务。你的应用仍在响应请求,所以正常运行时间看起来一切正常,而你产品所依赖的计划任务却在悄无声息地停止。
三步完成设置
为该命令添加心跳
为你想要监控的计划命令或队列创建一个监控项,并设置它应多久上报一次。
从调度器发送 ping
使用 Laravel 内置的调度器钩子——thenPing() 和 pingOnFailure()——或在命令中加入 curl,让它在执行完成后 ping Holter。
心跳缺失时收到告警
如果心跳延迟或运行失败,Holter 会开启一个事件,并将其路由到邮件、Slack、Discord 或 Webhook。
Holter 能做什么
Holter 为每个计划命令和队列分配一个心跳 URL。你可以用 Laravel 自带的调度器钩子——thenPing() 和 pingOnFailure()——串联一次 ping,也可以在任务结尾用 curl 请求该 URL。一旦漏掉预期的心跳,Holter 就会告警。无需安装任何扩展包,也无需访问你的服务器。
- ✓ 兼容 Laravel 调度器的 ping 钩子——无需安装扩展包
- ✓ 监控计划命令、队列和 Horizon worker
- ✓ 通过专用 URL,在成功或失败时发送 ping
- ✓ 告警可发送至邮件、Slack、Discord 或 Webhook
简单透明的定价
Free 方案可覆盖你最重要的计划任务。Pro 方案则为完整的生产应用提供更快的检查频率、更多监控项以及更丰富的告警路由,起价 $15/mo。
Free 套餐无需信用卡。所有付费套餐均包含 14 天免费试用.
查看完整定价常见问题
不需要。你可以使用 Laravel 内置的调度器 ping 方法(thenPing / pingOnFailure),或者在命令结尾直接用 curl。Holter 从不在你的应用内部运行。
可以。让一个计划命令 ping Holter,以确认 worker 仍在运行并正常处理任务,也可以在任务完成时发送 ping。
不会。Holter 只接收你的任务发送的心跳,无法访问你的代码库或服务器。
不需要。Free 方案最多支持 5 个监控项,无需信用卡。