【发布时间】:2019-05-15 14:57:44
【问题描述】:
我有一个使用 Twitter API 开发的 Nodejs 应用程序。当托管在 Heroku 上时,它会出现以下错误:
2018-12-14T10:00:03.678180+00:00 heroku[web.1]: 错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT
2018-12-14T10:00:03.678256+00:00 heroku[web.1]:使用 SIGKILL 停止进程
2018-12-14T10:00:03.739029+00:00 heroku[web.1]:进程以状态 137 退出
在搜索时,我遇到了这些 StackOverflow 问题 q1 q2 但他们都使用 ExpressJS 并监听固定端口而不是 Heroku 提供的端口,而我的应用程序不是使用 ExpressJS 所以,我不明白问题出在哪里。我还使用heroku local 在本地运行该应用程序,它工作正常。这篇 Heroku 文章讨论了该错误,但我无法将其与我的应用程序 article 联系起来。
谁能解释这个错误并提出可能的解决方案?
我的代码:code
【问题讨论】:
-
如果您提供的代码是唯一的代码,我没有看到您启动服务器并监听端口?
-
@MaviDomates 这是唯一的代码。我必须使用 Express 来监听端口吗?
-
看我的回答。在您的本地机器中,代码会从头到尾执行,但在网络服务器中,您必须监听端口。
-
@MaviDomates 您的解决方案将不起作用,因为函数内部的代码作为
createServer中的参数传递只会在对应用程序发出 HTTP 请求时运行,而在我的应用程序中没有这样的 HTTP 请求正在制作中。而不是以工作人员的身份运行应用程序,而是完美地运行应用程序。
标签: node.js api heroku twitter