Внизу приведён код метода. Проблема в том, что когда сервер, отправляющий данный запрос перегружен, то он не может отправить данный запрос. Сильная нагрузка на сервер происходит в течение 2-3 минут, после этого всё стабилизируется. Но данный запрос уже не отправить, потому что данные msg и token уже пропали. У меня есть идея, чтобы использовать Queue для хранения вот таких вот поломанных запросов. И scheduler раз в 5 минут, например, будет снова пытаться повторить данный запрос. Если снова не получается отправить, то тогда снова отправить данный запрос в очередь.
Подскажите, хорошая ли это идея использовать очередь? Если да, то могли бы подсказать имплементацию или же какую-нибудь библиотеку, которая поможет разобраться с такой проблемой.
private void callServer(Vertx vertx, String msg, String token) {
HttpClient httpClient = initClient(vertx);
String url = URL;
httpClient.post(url, response -> {
if (response.statusCode() != 200) {
logger.error("bad response");
}}).setChunked(true)
.putHeader(HttpHeaders.AUTHORIZATION.toString(),KEY)
.exceptionHandler(exception -> logger.error("Failed to update: " + exception.getMessage()))
.end();}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости