Предполагается, что процесс Heroku всегда будет работать, но когда он проверен, он вылетает с ошибкой H20 - PullRequest
0 голосов
/ 03 июля 2018

Итак, у меня есть приложение Java, работающее в Heroku, где оно всегда что-то слушает. Он не должен быть проверен, но если он это делает, он возвращает ошибку H20, потому что процесс никогда не заканчивается. Как я могу предотвратить это?

Я пытался прослушать get звонок:

get("", new Route() {
        @Override
        public Object handle(Request request, Response response) throws Exception {
            return "Hello";
        }
  });

Но потом понял, что он завершит весь процесс, то есть он больше не будет работать, пока я не выполню heroku restart, потому что процесс начинается, как только я опубликую.

Что я могу сделать, чтобы сервер игнорировал эхо-запросы, не завершая сам процесс?

Чтобы прояснить ситуацию, это должен быть текстовый бот, слушающий команды в определенном чате.

1 Ответ

0 голосов
/ 03 июля 2018

H20 - это тайм-аут загрузки приложения.
Для типов процессов web Heroku требует привязки порта, указанного в $ PORT. Если через 75 секунд ваш процесс не привязан к этому порту, он считается слишком длинным для загрузки и, следовательно, остановлен.

Если ваш бот не предназначен для прослушивания HTTP-запросов, вы можете исправить это, изменив имя типа процесса с веб-на любое другое в вашем Procfile .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...