2

我可能想多了,但我只是想要一个健全的检查:

我希望我的 slackbot 每分钟 ping 我的服务器

收到 404 后,它将停止 ping 服务器并向我发送消息以通知我服务器已关闭。

我会...有一个 setTimeOut 函数来发出请求并从那里处理错误/成功吗?

还是我错过了什么……?

谢谢!

4

3 回答 3

1

是的,这称为健康检查。

通常你想要的是向你的服务器添加一个路由,比如/healthcheck只返回一个 200 状态和空页面。无需无缘无故地每分钟请求一整套资产,从而使您的服务器超载。

然后正如你所说,类似:

setInterval(()=>{
   checkStatus();
},60000);

function checkStatus(){
    request.get(options,(err,res,body)=>{
         if(res.statusCode!==200){
              //handle statuscode error
         }
    });
}
于 2016-11-30T06:18:40.843 回答
0

您还可以使用 Google Stack Driver(不确定它是否免费)。它会在给定的时间间隔内从全球各地对您的服务器执行 ping 操作。您也可以将它与您的 slack 工作空间集成,并且堆栈驱动程序将像您的自定义 slack 机器人一样发布一条消息,只要它没有从您的服务器收到 200 OK。希望这有帮助!

于 2019-06-28T12:47:20.727 回答
0

除了使用自定义脚本来 ping 和发送消息,您还可以使用正常运行时间服务来监控您的机器人。有很多可供选择,有些甚至可以免费供小规模使用,例如 uptimerobot.com。我将它用于我所有的 Slack 机器人和应用程序,并且效果很好。

于 2016-12-01T15:13:07.920 回答