Реактивный запрос Java Webflux прерывается через 60 секунд - PullRequest
0 голосов
/ 02 ноября 2018

Я новичок в Reactive Java, в нашем приложении мы используем Reactive Java с webflux для перезапуска. Один из наших API требует больше минуты для ответа, и через 60 секунд я вижу тайм-аут шлюза 504 в почтальоне. Но я вижу, что процесс (в рамках API) внезапно завершается со следующим сообщением. Я хочу, чтобы мой API продолжал обработку даже после истечения 60 секунд. Не уверен, как это сделать в реактивной Java. Также запускаю приложение с образом докера с nginx в нем.

**Process terminating abruptly with following message**
reactor.Flux.FlowableAs.1 -
               | cancel()


**504 gateway timeout response.**
    <html>
        <head>
            <title>504 Gateway Time-out</title>
        </head>
        <body bgcolor="white">
            <center>
                <h1>504 Gateway Time-out</h1>
            </center>
            <hr>
            <center>nginx</center>
        </body>
    </html>

1 Ответ

0 голосов
/ 02 ноября 2018

В этом случае обратный прокси-сервер Nginx закрывает соединение с приложением WebFlux.

Это закрывающее событие пересылается вверх по реактивной цепочке как событие cancel, означающее, что обработка запроса отменяется снизу вверх. На самом деле это довольно полезная функция, так как она дает приложению возможность прекратить обработку данных и должную очистку ресурсов.

...