跳到内容

Heartbeat

Cron和后台任务监控

反过来:你的任务调用我们。

它的用途

这里的其他功能都是主动检查。这项功能是等待。你的备份、夜间导入、队列工作完成时调用一个URL,如果没有调用,我们会发出警报。

这是监控没有地址可检查的任务的唯一方法。从外部看,一个三周前停止运行的备份任务和一个运行正常的任务看起来完全一样,直到有人需要备份的那一天。

你可以设置什么

以下内容在你添加时的表单中,每个套餐都包含。

运行频率
不是我们检查的频率,而是你的任务应该调用的频率。每周备份是常见的,因此这个监控可以设置到一个月,而其他监控类型最多到一天。
允许的延迟
调用可以延迟多少分钟。一个每小时运行一次并需要最多二十分钟的任务可以允许三十分钟延迟。空白表示周期的十分之一。
Ping URL
在创建监控时生成,并只显示一次。从任务结束时调用它。可以重新生成,这会使旧的URL失效。
开始监控一个 五个监控免费,使用期间一直免费。

问题

这和死人的开关一样吗?

这确实是死人的开关,应用于Cron任务监控。这个网站上的其他功能都是主动检查。这项功能是等待通知,并在没有通知时发出警报,这是监控没有地址可检查且没有页面可读的任务的唯一方法。

我的任务可以延迟多久才会触发警报?

延迟时间以分钟为单位,由你设置。一个每小时运行一次并需要一到二十分钟的任务可以允许三十分钟延迟,因此调用预计在上次调用后六十到九十分钟之间。空白表示周期的十分之一,且不少于一分钟:两分钟的延迟对夜间备份来说无关紧要,但对每五分钟运行一次的任务来说至关重要。底线是因为Cron任务在分钟的前后几秒触发是正常的,绝不能因此触发事件。

如何从Cron任务或Shell脚本中调用它?

在任务结束时用curl、wget或任何支持HTTP的工具获取URL。GET、POST和HEAD都可以,因为世界上一半的人用一种,另一半用另一种。响应是一个空的204状态码,这样夜间任务不会向操作员发送一页HTML。

应该在开始还是结束时调用它?

在任务结束后调用,而不是在开始前调用。在脚本顶部调用只表示机器启动了,这通常不是问题所在。将它放在最后一行,放在脚本已有的退出代码检查之后,这样沉默就意味着任务失败,而不是主机宕机。

如果URL泄露怎么办?

URL是凭证,这就是为什么它是256位随机数并且只显示一次。任何拥有它的人都可以报告你的任务是健康的,这种失败值得担心,而不是有人读取内容。重新生成后旧的URL会立即失效。

每周运行的任务可以使用这个吗?

可以,这是一个很好的理由。这个间隔可以设置到一个月,而其他检查类型最多到一天,因为每周备份是常见的任务,而一个三周前悄悄停止运行的备份看起来和一个运行正常的备份完全一样,直到有人需要它的那一天。

为什么不让任务在失败时给我发邮件?

因为你需要知道的失败是任务完全没有运行,而没有运行的任务不会发送邮件。这包括脚本内部的崩溃、机器重启、被注释掉的Cron条目、从未启动的容器以及停止排队的队列。捕捉任务中的错误仍然值得做;这与沉默是不同的失败。