| 
 | 
| 
 
Обновление приложения nodejs 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Здравствуйте. Собственно вопрос) а как корректно? Есть в принципе несколько вариантов. Есть даже возможность отслеживать изменения файлов и перегружать приложение. Есть вариант через nginx что то типа отказоустойчивого кластера. Два приложения, одно останавливаем, запросы идут на второе. Первое обновляем—запускаем В принципе все эти способы хороши. Но у все у них имеется момент остановки сервера. Соответственно те запросы, которые обрабатываются в момент остановки сервера обломятся. Есть ли вариант сделать обновление без «облома» текущих соединений? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 10.08.2019, 22:20 | 
  
  
  
   | 
||
| 
 
Обновление приложения nodejs 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  SwvЗдравствуйте. Собственно вопрос) а как корректно? Есть в принципе несколько вариантов. Есть даже возможность отслеживать изменения файлов и перегружать приложение. Есть вариант через nginx что то типа отказоустойчивого кластера. Два приложения, одно останавливаем, запросы идут на второе. Первое обновляем—запускаем В принципе все эти способы хороши. Но у все у них имеется момент остановки сервера. Соответственно те запросы, которые обрабатываются в момент остановки сервера обломятся. Есть ли вариант сделать обновление без «облома» текущих соединений? Ну Front можно..Например кога разрабатываешь на react ,файл изменил и тут же в браузере перерисовалось,а вот back нет(Или надо делать инжениринг выгрузки с горячей компиляцией,и тут node надо знать как будто Вы сами её создали) Ибо node предкомпилирует файлы и в памяти и уже использует там.Замена файла на Back вообще ничего не даст.Надо node server остановить/запустить и она скомпилирует новый, и новая логика пошла в работу) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.08.2019, 11:11 | 
  
  
  
   | 
||
| 
 
Обновление приложения nodejs 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  irbis_alSwvЗдравствуйте. Собственно вопрос) а как корректно? Есть в принципе несколько вариантов. Есть даже возможность отслеживать изменения файлов и перегружать приложение. Есть вариант через nginx что то типа отказоустойчивого кластера. Два приложения, одно останавливаем, запросы идут на второе. Первое обновляем—запускаем В принципе все эти способы хороши. Но у все у них имеется момент остановки сервера. Соответственно те запросы, которые обрабатываются в момент остановки сервера обломятся. Есть ли вариант сделать обновление без «облома» текущих соединений? Ну Front можно..Например кога разрабатываешь на react ,файл изменил и тут же в браузере перерисовалось,а вот back нет(Или надо делать инжениринг выгрузки с горячей компиляцией,и тут node надо знать как будто Вы сами её создали) Ибо node предкомпилирует файлы и в памяти и уже использует там.Замена файла на Back вообще ничего не даст.Надо node server остановить/запустить и она скомпилирует новый, и новая логика пошла в работу) Да нет. Есть решения, когда меняешь файлы проекта, нода это замечает и сама перезапускается. Вопрос в другом) возможно ли избежать того, чтоб нода не перегружалась, когда она выполняет входящие запросы. Ведь если при перезапуске ноды есть обрабатываемые входящие запросы, то они обломятся ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.08.2019, 15:44 | 
  
  
  
   | 
||
| 
 
Обновление приложения nodejs 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Вот он ответ) nginx -s reload Создаем новую конфигурацию nginx с отправлением запросов на другую ноду, стартуем другую ноду. Выполняем команду выше. Она перегружает конфигурацию, новые запросы идут на новую ноду, старые выполняются. Минут через пять можно первую ноду остановить) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.08.2019, 15:52 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=22&gotonew=1&tid=1443691]:  | 
    0ms | 
get settings:  | 
    11ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    66ms | 
get topic data:  | 
    12ms | 
get first new msg:  | 
    8ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    49ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 241ms | 
| total: | 414ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...