【问题标题】:How To Set Up A Ping Route (HEAD) For New Relic In Restify/Express如何在 Restify/Express 中为 New Relic 设置 Ping 路由 (HEAD)
【发布时间】:2014-12-10 09:12:28
【问题描述】:

我需要通过 New Relic 监控我的应用程序的正常运行时间。我正在使用主要基于 Express 的 Restify 框架。

New Relic 想向我的应用程序发出 HEAD 请求,但我不确定如何正确设置 HEAD 路由以满足 New Relic。目前,我的 Restify 应用程序为“不允许的方法”返回 405 错误,这导致 New Relic 出现故障并不停地向我发送有关我的应用程序如何关闭的电子邮件,并且我无法从 New Relic 中找到任何显示的文档如何设置一个简单的 ping URL 来满足他们。

除此之外我还有什么需要做的吗:

server.head('/ping', function(error, req, res) {
    res.send("hello");
});

【问题讨论】:

    标签: node.js express newrelic restify


    【解决方案1】:

    编辑:

    参数标签错误,因此res.send() 实际上是在尝试调用未定义的next().send()。删除 error 参数并将所有内容转移到修复了 OP 发现的代码。


    根据 restify 文档,您需要在回调函数中调用 return next()

    http://mcavage.me/node-restify/#Routing

    server.head('/ping', function (req, res) {
        res.send('hello');
    });
    

    如果您想立即响应而不是继续下链,您可以将false 作为参数传递给next()

    【讨论】:

    • 您好,jibsales,路由处理函数中的error 参数不正确。一旦我把它拿出来,我的路线就很好了。你应该把它从你的答案中去掉。此外,也不必致电return next()
    • @ac360 — 没有注意到,但是是的,错误地标记参数会是一个问题。我只是复制/粘贴,这绝不是一件好事!至于返回next(),最好的做法是总是返回next(),因为你永远不知道什么时候可以混合和匹配你的路线,它使你的代码未来安全。必要的?不。好的做法?绝对的。
    猜你喜欢
    • 2015-12-31
    • 2014-03-28
    • 2020-06-17
    • 2021-02-07
    • 1970-01-01
    • 2014-04-21
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多