Node.js / Socket.io web应用程序完美无缺地在本地运行,但在Heroku上时,浏览器挂起

我有一个Node.js web应用程序,它会定期调用一个MongoDB后端(每30分钟一次)。 我可以在这里运行几天在本地没有问题。 我刚刚部署到Heroku(免费,1个Dyno,使用MongoLab for DB),一切都启动并正常工作。 但是,当更新开始推出时,浏览器控制台中出现许多错误,这些错误与更新并不完全一致,最终(大约有3或4个更新),并且总是选项卡挂在30%的CPU上, 800MB内存(通常标称为CPU,最多300-400MB)。

我使用一串承诺来确保asynchronous数据库更新步骤以完美的顺序进行,并且始终在本地进行。 但是console.logs提示应用程序运行不正常,应该是不可能的,也就是说应用程序在依赖于parsing的承诺之前继续运行。 这将解释所有的错误(如未定义的variables等)有没有人看到这样的事情与他们的应用程序,可以build议从哪里开始寻找解决scheme? 在Heroku上部署应用程序或启动应用程序并不是问题,就像我看到的大多数疑难解答问题一样。 该应用程序运行,附加到端口,并在浏览器中没有错误。 只是在运行一段时间后,事情就会变得不合时宜。 我不知所措

很难说没有看到连接代码和错误,但最初想到的是设置connectTimeoutMS和socketTimeoutMS选项(通常我们build议30秒,或30000)。 我们已经看到了一些configuration超时有助于连接到Heroku的问题 – 特别是在空闲之后。

如果您仍然需要帮助,请写信给support@mongolab.com。 我们将帮助find原因。