Браузер контролирует это время, поэтому вы ничего не можете с этим поделать. Я думаю, что они все вокруг отметки 1-2 минуты (что, я думаю, очень справедливо), очевидно, браузер не может держать сокет открытым дольше, так как это может вызвать проблемы с производительностью, утечки памяти и т. Д. Вы можете переопределить их локально, но это не принесет пользы ни для кого, кроме вас самих - поскольку пользователи по умолчанию будут иметь значение по умолчанию KeepAliveTimeout
.
То, что вы действительно должны думать, - лучшее решение для достижения того, чего вы хотите здесь. Долгосрочная задача, которая держит сокет открытым для этого долго, просто неверна.
Я бы подумал о том, чтобы выполнить начальный вызов API, который запускает процесс, который затем возвращает ответ успеха в пользовательский интерфейс, чтобы сказать «да, у этого есть начальная обработка ..». Затем на вашем API после завершения пожара событие в пользовательском интерфейсе с помощью websockets
. Существует множество пакетов npm
для поддержки этого.
https://www.npmjs.com/package/websocket
https://www.npmjs.com/package/ws
Решение, которое вы предлагаете, не может выжить в реальном мире, поэтому изменение вашего мышления в том, как это может быть достигнуто, - лучший способ разрешить это. Мог бы не быть ответом, на который вы надеялись, но в целом его изменение значительно улучшит все ваши решения.
Удачи.