Установка длительного таймаута для http-запроса через nodejs angular4 или express - PullRequest
0 голосов
/ 28 января 2019

В настоящее время у меня есть запрос, который сделан из углового приложения 4 (которое использует электрон [который использует хром]) к узкому месту (nodejs / express) сервер.Серверу требуется около 10 минут для обработки запроса.Время ожидания по умолчанию составляет 120 секунд.Я попытался использовать настройку тайм-аута на сервере с помощью

App.use(timeout("1000s")

. На стороне клиента я использовал

options = {
url,
method: GET
timeout : 600 * 1000} 
let req = http.request(options, () => {})
req.end()

Я также пытался указать конкретное время ожидания маршрута.Каждый раз, когда запрос достигает 120 секунд, сокет умирает, и я получаю «тайм-аут сокета»

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

Любая помощь будет очень полезна.

1 Ответ

0 голосов
/ 08 февраля 2019

Итак, просмотрев Интернет, я обнаружил, что нет никакого способа увеличить время ожидания Chrome.Мое решение этой проблемы состояло в том, чтобы открыть запрос и вернуть ответ по умолчанию (что-то вроде «запущен»), а затем пропинговать сервер, чтобы выяснить его состояние.

Есть еще одно возможное решение, которое будет заключаться в установке маршрута.в клиенте (я использую электронные и узловые модули на стороне клиента, так что это возможно), а затем позвольте серверу отправлять запрос клиенту обратно со статусом запроса.Запишите это, чтобы у других людей были некоторые возможные исправления.Обновлюсь, если найду что-нибудь получше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...