Сбой приложения Node.js на Heroku - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть приложение Nodejs, разработанное с использованием Twitter API.При размещении на Heroku выдается следующая ошибка:

2018-12-14T10: 00: 03.678180 + 00: 00 heroku [web.1]: Ошибка R10 (Тайм-аут загрузки) -> Ошибка веб-процессапривязать к $ PORT в течение 60 секунд после запуска
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 говорится об ошибке, но я не могу связать ее с моим приложением статья .
Может кто-нибудь объяснить эту ошибку и предложить возможные решения?

Мой код : код

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Heroku проверяет приложение, работающее как приложение web (как определено в Procfile или по умолчанию) для запроса HTTP, если оно не находит входящий запрос HTTP, тобыло бы выброшено не удалось связать с ошибкой порта .Для таких приложений, которые должны работать в фоновом режиме, таких как это приложение Twitter, запустите приложение как работник , определив работник в Procfile .
Для получения дополнительной информации о создании Procfile посетите procfile .Чтобы узнать больше о веб и работник визит ссылка1 ссылка2

0 голосов
/ 14 декабря 2018

Если вы не используете ExpressJS (что вам не нужно - это просто веб-сервер, который делает вещи проще), вы должны использовать обычный http-сервер Node.

См. Код нижевзято из здесь - слегка отредактировано.

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.write('Hello World!');
  res.end();
}).listen(process.env.PORT || 8080);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...