Проблема в завершении запросов по таймауту Service Unavailable 503. В nginx просто решалось - запрос завершился - убился дочерний процесс со всеми потрохами (запросы к БД, сетевые, ресурсы и т. д.). В ноде, конкретнее в express, так не получится, там не создается отдельный процесс для каждого запроса. Промайсы тоже тривиально не отменяются, это нужно в каждом запросы пасти статус request\response и обрабатывать - геморойно, не вариант. Можно отменить сам запрос и отдать клиенту ошибку, но сам запрос асинхронный на сервере будет продолжать работу и после того как он просрется - выдаст ответ на завершенный http-запрос - в пустоту - зря получается пахал столько время
Варианты:
* Забить, но завершать сам http-запрос
* Забить полностью, не завершать http-запрос, не устанавливать таймауты и делегировать вопросы по времени каждому отдельному обработчику запросов. Тут опасаюсь ошибок в самих обработчиках, где-то может просмотришь, и будет он вечно висеть, накапливаться со временем, тем самым будет утечка памяти
* запускать в отдельном процессе каждый http запрос. Вариант интересный, но не встречал реализаций
Что посоветуете?


Ответ на:
комментарий
от aol



Ответ на:
комментарий
от annulen

Ответ на:
комментарий
от romanlinux

Ответ на:
комментарий
от firkax



Похожие темы
- Форум нода слилась (2015)
- Форум ноду форкнули (2014)
- Форум Проблемы с нодой geth (2021)
- Форум Хроники ноды. Апокалипсис. (2015)
- Форум jenkins - динамические ноды (2017)
- Форум RapidXML найти ноду (2013)
- Форум Выбор Тор-ноды (2023)
- Форум [freenet] подайте ноды (2008)
- Форум Заблеклистить ноду DIAMETER (2024)
- Форум Ошибки при установке mastodon ноды (2018)