2017-08-02 125 views
1

我得到了一個在nodejs(expressjs)中製作的機器人,並託管在我的私人VPS上,我遇到了一個使用superagent lib進行HTTP請求的錯誤。 當有不活動週期長,的NodeJS服務器就像是在「睡眠模式」,並且第一個請求總是夾在我的try/catch錯誤,錯誤是這樣的:enter image description hereMessenger Bot「睡眠模式」getaddrinfo

我得到了另一個bot託管在heroku上,但我沒有這個錯誤,它似乎也許是我的VPS/Apache代理?

第一次請求後,我做了一個新的請求後,它按預期工作。這就像我的服務器處於「睡眠模式」,第一個請求告訴他醒來。

感謝您的回答。

+1

做一個ping請求每隔x分鐘(或秒),讓您的機器人活着。 – Jer

+0

是的,它可能是一個解決方案,謝謝你的想法:) – Paul

+0

但它是從一般的nodejs服務器的默認行爲? – Paul

回答

1

這是NodeJS應用程序的正常行爲。爲防止服務器在不活動後關閉應用程序,可以每x分鐘(或幾秒)執行一次ping請求,以保持您的bot活着。

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

server.setTimeout(10*60*1000); 

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