Чистый метод, чтобы остановить длительный запрос на обслуживание - PullRequest
0 голосов
/ 19 июня 2019

Когда кот обрабатывает запрос, если он не завершается за x минут (например, 1: 30 м), тогда процесс должен остановиться и выдать ошибку.

решение reply_timeout и другие решения для тайм-аута в http://tomcat.apache.org/connectors-doc/reference/workers.html не выполняют необходимую работу, потому что они либо не останавливают процесс, либо смотрят на неправильную вещь.

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

Для ясности, мой сервис не завис или не находится в режиме ожидания в течение x минут. Это обработка и выполнение операций. Проблема заключается в том, что совокупное время завершения процесса превышает время ожидания внешнего приложения.

Функция timer.schedule () кажется наиболее подходящей, но есть ли более чистый способ ее обработки со стороны кота, вместо того, чтобы я делал кодирование, чтобы остановить процесс.

...