Załóżmy, że wprowadzam niewielką zmianę w mojej aplikacji szyny, na przykład zmianę układu html. Jak mógłbym powtórzyć walkę z Unicornem? Czy rzeczywiście chciałoby się wprowadzić procesy jednorożca (lub robotników?) Dla najnowszej wersji aplikacji szyny, a następnie przełączać ruch ze starych procesów jednorożców/robotników na nowe atomowo. Z wyszukiwań w Google nie mogłem uzyskać konkretnego ostatecznego wyjaśnienia, jak to zrobić i wszystkich otaczających go luk.Jak wykonać toczący się restart z Unicorn?
5
A
Odpowiedz
5
Istnieje wiele sposobów, ale jednym z nich jest następująca:
- Wysłać SIGUSR2 do procesu nadrzędnego. Jednorożec uruchamia nowy wzorzec za pomocą procesów roboczych, które działają równolegle do starych procesów nadrzędnych i starych procesów roboczych.
- Poczekaj, aż rozpoczną się nowe procesy główne i procesy robocze.
- Zabij starego mistrza.
Źródło: http://unicorn.bogomips.org/SIGNALS.html
To nie jest bardzo przyjazny, choć pamięć. Tymczasowo potrzebujesz dwa razy więcej pamięci.
obsługuje ponowne uruchamianie (wraz z innymi ciekawymi funkcjami), ale restartuje procesy jeden po drugim i nie wymaga tak dużo pamięci. Możliwe jest pisanie pojedynczych ponownych uruchomień w Unicorn za pomocą sygnałów TTIN i TTOUT, ale Phusion Passenger robi wszystko automatycznie bez skryptowania.