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原因。
- 连接到Heroku node.js应用程序中的数据库,而无需在git上显示authentication详细信息
- Heroku ENOENT:没有这样的文件或目录由于错误的express.js路由
- 将节点应用程序部署到heroku时找不到条目文件
- Heroku创build命令产生“ENOENT”错误
- 如果服务器崩溃,如何跟踪用户的“在线”状态?
- 在Heroku上部署Angul应用程序:应用程序崩溃
- Heroku(Cedar)+ Node + Express + Jade子目录中的客户端JavaScript文件在工作时使用foreman + curl,但是当推送到Heroku时
- node.js – 尝试使用Parse Server查询时,Heroku服务器超时?
- 我不必为我的socket.io应用程序指定一个用于heroku的端口?