как предотвратить Heroku H12 "тайм-аут запроса" для длительного процесса на Java REST сервере - PullRequest
1 голос
/ 26 апреля 2020

У нас есть сервер Джерси / Гризли, который служит нашим REST-сервером. Определенные запросы могут легко занять более 30 секунд, что совершенно нормально. К сожалению, Heroku завершает соединение через 30 секунд с ошибкой «тайм-аут запроса H12».

Может показаться, что для того, чтобы запрос занимал более 30 секунд, сервер должен периодически отправлять некоторые данные, чтобы сохранить соединение открытым , Смотрите здесь: https://devcenter.heroku.com/articles/limits#http -timeouts

Итак, вопрос в том, как отправить данные без завершения ответа?

Вот как мы создаем наш сервер:

final String baseUri = "http://0.0.0.0:" + port;
final HttpServer server = GrizzlyHttpServerFactory.createHttpServer(URI.create(baseUri), rc);
...