【问题标题】:Messenger Bot "sleep mode" getaddrinfoMessenger Bot“睡眠模式”getaddrinfo
【发布时间】:2017-08-02 08:46:29
【问题描述】:

我有一个用 nodejs (expressjs) 制作的机器人并托管在我的私人 VPS 上,我遇到了一个使用 superagent lib 发出的 HTTP 请求的错误。 当长时间不活动时,nodejs服务器就像处于“睡眠模式”,第一个请求总是在我的try/catch中捕获到错误,错误如下:

我在 heroku 上托管了另一个机器人,但我没有这个错误,似乎是我的 VPS/Apache 代理?

在第一个请求之后,当我提出一个新请求时,它按预期工作。就像我的服务器处于“睡眠模式”,第一个请求告诉他醒来。

感谢您的回答。

【问题讨论】:

  • 每 x 分钟(或秒)执行一次 ping 请求以保持您的机器人存活。
  • 是的,它可能是一个解决方案,谢谢你的想法:)
  • 但这通常是 nodejs 服务器的默认行为?
  • 是的,为了防止这种情况,您可能需要阅读以下内容:stackoverflow.com/questions/32882507/…
  • 谢谢,我试试看。

标签: node.js express bots messenger superagent


【解决方案1】:

这是 NodeJS 应用程序的正常行为。为了防止服务器在不活动后关闭您的应用程序,您可以每 x 分钟(或秒)执行一次 ping 请求以保持您的机器人处于活动状态。

您也可以使用.setTimeout() 函数。

server.setTimeout(10*60*1000);

来源:Nodejs and express server closes connection after 2 minutes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2022-11-28
    相关资源
    最近更新 更多