В точности, как это звучит.
Я использую ExpressJS для моего Node-приложения, которое размещено на Heroku.
Несмотря на использование app.listen, оно постоянно получает / вызывает heroku Ошибки R10 , вызванные тем, что веб-приложение не привязано ко времени process.env.PORT
.
Соответствующий код:
const app = express();
var isRoot = (process.getuid && (process.getuid() === 0));
var port;
if (isRoot) {
port = 80;
} else {
port = process.env.PORT | 8000;
}
const server = app.listen(port, onStartup);
function onStartup() {
console.log("Started webserver on port "+port);
}
Теперь странно, я получая сообщение «Запущен веб-сервер на порту [foo]», оно просто не привязано к порту.
Журналы:
2020-03-30T19:50:39.434302+00:00 app[web.1]: > foo-bar@1.0.0 start /app
2020-03-30T19:50:39.434303+00:00 app[web.1]: > node scrape2.js
2020-03-30T19:50:39.434303+00:00 app[web.1]:
2020-03-30T19:50:39.829882+00:00 app[web.1]: Verbose mode OFF
2020-03-30T19:50:39.830782+00:00 app[web.1]: Started webserver on port 8052
2020-03-30T19:51:37.415192+00:00 heroku[web.1]: State changed from starting to crashed
2020-03-30T19:51:37.293060+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2020-03-30T19:51:37.293142+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-03-30T19:51:37.391762+00:00 heroku[web.1]: Process exited with status 137
Справка!