Как избежать исключения тайм-аута шлюза путем увеличения времени отклика http

Если у вас есть Java-приложение, которое выполняет http-вызов ruby-приложения, которое выполняет определенные sql-запросы и возвращает HTTP-ответ 200 на java-приложение, моя проблема в том, что ruby-приложению требуется более 5 минут для завершения выполнения при проверке Журнал Java-приложения после почти 3 минут он предоставляется как исключение времени ожидания шлюза. Как решить эту проблему?

HTTP-вызов Java для приложения ruby:

GetMethod get = new GetMethod(URL to ruby application);

    Exception exception = null;
    try {
        // Get HTTP client
        HttpClient httpclient = new HttpClient();
        int resultCode = httpclient.executeMethod(get);

        // Display status code
        if (log.isInfoEnabled()) {
            log.info("response status code: "
                    + resultCode);
            // Display response
            log.info("Response body: " + get.getResponseBodyAsString());
        }
        if (resultCode != 200) {
            log.error("Failed with status code: "
                    + resultCode);
            log.error("Response body: " + get.getResponseBodyAsString());
        }

    }

1 ответ

Вы можете использовать этот ответ, чтобы изменить время ожидания... Что-то не так с архитектурой, потому что никто не отправляет запросы и ждет ответа в приложении 5 минут.

Возможно, вам следует отправить запросы и вернуть "200" (ОК), если все параметры запроса в порядке (так что запросы могут быть выполнены) и когда результаты будут готовы (через 5 минут), вы можете сделать несколько вещей:

а. использовать сокетное соединение между сервером и клиентом и отправить клиенту результат. б. гораздо полезнее: отправить push-уведомление с результатами (не забывайте, что сегодня вы можете загрузить 4 k данных в push-уведомление.

Другие вопросы по тегам