http.запрос не получает данные после 300 секунд длительного выполнения POST-вызова

#node.js #rest #http #timeout

#node.js #отдых #http #тайм-аут

Вопрос:

У меня есть Node.js приложение, предоставляющее rest API. Когда вызывается, Node.js извлекает данные из базы данных, затем выполняет POST-вызов на другой сервер (сервер B). Сервер работает примерно 10 минут, прежде чем вернуть результаты.

Когда я выполняю вызов с помощью postman на сервер B, я получаю ожидаемый ответ. Когда я выполняю вызов, используя Node.js как описано в предыдущем абзаце, Node.js код работает должным образом, когда время вычисления на сервере B < 300 секунд. Когда время вычисления превышает 300 секунд, сервер B возвращает ответ, но Node.js продолжает ждать вечно и не получает их.

Есть идеи, в чем проблема?

 var options = {
uri: 'http://URL/test?n=305',
method: 'POST',
timeout: 1200000,
json: jsonObject,
};

request(options, function (error, response, body) {
    console.log("Response Received");

    if(error != null){
        console.log(error);
        res.send(error).status(response.statusCode)
    } else{
        var ServerBResponse = response.body;
        console.log(ServerBResponse);
    }
});
  

Комментарии:

1. Можете ли вы предоставить код для запроса на сервер B?

2. Привет @MykolaBorysyuk. Я обновил вопрос примером кода, который я использую.