Inspektor jest systemem typu klient / serwer, który pozwala użytkownikom na sterowanie szereg procesów na uniksowych systemów operacyjnych. To był inspirowany przez następujące:
- Jest to często niewygodne trzeba napisać "rc.d" skryptów dla każdej instancji procesu. skrypty rc.d są doskonałą formą najmniejszy wspólny mianownik procesu inicjalizacji / autostart / zarządzania, ale mogą być bolesne pisać i utrzymać. Dodatkowo, skrypty rc.d nie może automatycznie uruchomić ponownie rozbity proces i wiele programów nie zrestartować się prawidłowo w wypadku. Supervisord rozpoczyna się proces w jego podprocesów i może być skonfigurowany do automatycznego ponownego uruchomienia ich zderzenia. Może on również być automatycznie uruchamiana procesów własnej wywołania.
- To często trudno jest uzyskać dokładne górę / w dół stan na procesy systemu UNIX. Pidfiles często kłamią. Supervisord uruchamia procesy jak podprocesów, więc zawsze wie prawdziwą się stan podnoszenia / opuszczania swoich dzieci, a może być sprawdzony dogodnie dla tych danych.
- Użytkownicy, którzy muszą kontrolować stan procesu często wystarczy, aby to zrobić. Oni nie chcą lub muszą pełnowymiarową powłoki dostępu do komputera, na którym procesy są uruchomione. Supervisorctl pozwala na bardzo ograniczoną formę dostępu do urządzenia, głównie dzięki czemu użytkownicy mogą zobaczyć stan procesu i kontroli supervisord podprocesów sterowane emitując "stop", "start" i "restart" z prostego polecenia powłoki lub internetowej UI.
- Użytkownicy często muszą kontrolować procesy na wielu maszynach. Inspektor zapewnia prosty, bezpieczny i jednolitego mechanizmu interaktywnie i automatycznego sterowania procesami w sprawie grup maszyn.
- Procesy, które słuchają na "niskie" porty TCP często muszą być rozpoczęte i ponownie uruchomić jako administrator (misfeature UNIX). Zazwyczaj jest tak, że jest to całkowicie w porządku, aby umożliwić "normalnych" ludzi, aby zatrzymać lub ponownie uruchomić taki proces, ale zapewniając im dostęp do powłoki jest często niepraktyczne i zapewnienie im dostępu administratora lub dostępu sudo jest często niemożliwe. To także (słusznie) trudno im wytłumaczyć, dlaczego istnieje ten problem. Jeśli supervisord rozpoczyna się z korzenia, jest możliwe, aby umożliwić "normalnych" użytkownikom sterowanie takie procesy bez potrzeby wyjaśniać zawiłości problemu do nich.
- Procesy często muszą być uruchamiane i zatrzymywane w grupach, czasem nawet w "kolejności priorytetów". Często trudno wytłumaczyć ludziom, jak to zrobić. Inspektor pozwala na przypisanie priorytetów do procesów i pozwala użytkownikowi na emisję komend klienta supervisorctl jak "zacząć wszystko" i "restart wszystkich", który rozpoczyna się je w przypisanego kolejności priorytetów. Dodatkowo, proces można podzielić na "grup procesowych" i zestaw logicznie powiązanych procesów może być zatrzymany i uruchomiony w systemie unit.otification został dodany.
Co nowego to wydanie:
- zachowanie użytkownika opcji programu nie zmieniło. We wszystkich poprzednich wersjach, jeśli supervisord nie przełączyć się na użytkownika, ostrzeżenie zostanie wysłana do dziennika stderr ale proces dziecko nadal będzie zrodził. Oznacza to, że błąd w pliku konfiguracyjnym może doprowadzić do procesu potomnego niezamierzonym zrodził się jako root. Teraz supervisord nie będzie tarła dziecko o ile nie był w stanie skutecznie włączyć użytkownika. Dzięki Igor Partola za zgłoszenie tego problemu.
- Jeśli użytkownik określony w pliku konfiguracyjnym nie istnieje w systemie, supervisord wydrukuje błąd i odmówić uruchomienia.
- Wycofano zmiany wprowadzone w celu zapisywanie które zamierzano 3.0b1, aby umożliwić wielu procesów, aby zalogować się do tego samego pliku z obracającą obsługi dziennika. Wdrożenie spowodowało awarię podczas supervisord przeładowanie i wyciek uchwytów plików. Ponadto, ponieważ opcje rotacji dziennika są podane na poszczególnych programów, niemożliwe konfiguracje mogą być tworzone (sprzeczne opcje obrotu na tym samym pliku). Biorąc to pod uwagę i że teraz jest syslog supervisord obsługa, zdecydowano, aby usunąć tę funkcję. Ostrzeżenie zostało dodane do dokumentacji, że dwa procesy nie mogą zalogować się do tego samego pliku.
- Naprawiono błąd, gdzie parsowania polecenia = może spowodować awarię po supervisord shlex.split () nie powiedzie się, takich jak złe cytowanie. Łata autorstwa Scott Wilson.
- Można teraz korzystać supervisorctl na maszynie bez pliku supervisord.conf poprzez dostarczanie informacji o połączeniu w opcji wiersza poleceń. Łata autorstwa Jensa Rantil.
- Naprawiono błąd, gdzie supervisord będzie katastrofy, jeśli użyto obsługi syslog i supervisord otrzymał SIGUSR2 (log ponownego wniosku).
- Poprawiono błąd XML-RPC, gdy dzwoni supervisor.getProcessInfo () o złej spowodowałoby 500 Internal Server Error zamiast powrotu usterki BAD_NAME.
- Dodane favicon do interfejsu WWW. Caio Ariede łatka.
- Naprawiono awarię testu na skutek niewłaściwego obchodzenia się z czasu letniego w badaniach childutils. Ildar Hizbulin łatka.
- Poprawiono liczba pyflakes ostrzeżeń dla zmiennych nieużywanych oraz przywozu i martwego kodu. Łata autorstwa Philippe'a Ombredanne.
Co nowego w wersji 3.0 Beta 1:
- Naprawiono błąd, gdzie analizowania otoczenia = nie sprawdziła że pary klucz / wartość zostały prawidłowo rozdzielone. Martijn Pieters łatka.
- Naprawiono błąd w kodzie serwera HTTP, która mogłaby spowodować niepotrzebne opóźnienia podczas wysyłania długich odpowiedzi. Łata autorstwa Philipa Zeyliger.
- Po supervisord uruchamiany jako root, jeśli Flaga -c nie był przewidziany, ostrzeżenie jest obecnie emitowany do konsoli. Uzasadnienie: supervisord wygląda w bieżącym katalogu dla pliku supervisord.conf; ktoś może oszukać użytkownika root do począwszy supervisord podczas cd'ed do katalogu, który ma fałszywy supervisord.conf.
- ostrzegawczy został dodany do dokumentacji o problemach bezpieczeństwa związanych z rozpoczęciem supervisord bez -c.
- Dodaj logiczną opcji programu stopasgroup, zalegających na false. Gdy prawda, przełożony przyczyny flag, aby wysłać sygnał do zatrzymania się do całej grupy procesów. Jest to przydatne w przypadku programów, takich jak kolba w trybie debugowania, które nie propagują sygnały zatrzymania ich dzieci, pozostawiając je osierocone.
- Python 2.3 nie jest już obsługiwana. Ostatnia wersja Pythona 2.3 jest obsługiwany Inspektor 3.0a12.
- Usunięto nieużywany & quot; supervisor_rpc & quot; punkt wejścia z setup.py.
- Naprawiono błąd w wirującym obsługi dziennika, który mógłby spowodować nieoczekiwane wyniki, gdy dwa procesy zostały ustawione, aby zalogować się do tego samego pliku. Łata autorstwa Whit Morriss.
- Naprawiono błąd w pliku konfiguracyjnym reload przeładunkowy, gdzie każdy może wycieki pamięci, ponieważ lista komunikatów ostrzegawczych zostanie dołączony, ale nigdy nie wyczyszczone. Łata autorstwa Philipa Zeyliger.
- Dodano nowy Syslog obsługi dziennika. Dzięki Denis Bilenko, Nathan L. Smith i Jason R. Coombsa, który każdy przyczynił się do poprawki.
- Put wszystkie historii zmian w jednym pliku (Zmiany.txt).
Co nowego w wersji 3.0 Alpha 12:
- Wydany zastąpić zepsuty 3.0a11 pakiet, gdzie nie Pliki -Python nie były zawarte w pakiecie.
Co nowego w wersji 3.0 Alpha 10:
- Poprawiono stylów interfejsu WWW tak, stopka Linia nie będzie się pokrywać listę długi proces. Dzięki Derek DeVries do poprawki.
- Możliwość wtyczki interfejsu RPC zarejestrować nowe typy zdarzeń.
- Bug fix dla fcgi gniazd nie uzyskiwanie oczyszczone, gdy polecenie reload jest wydawane supervisorctl. Ponadto, domyślne zachowanie zmieniło się gniazd fcgi. Są nowe zamknięta, gdy liczba procesów ofrunning w grupie spadnie do zera. Wcześniej, gniazda, nie zostały zamknięte, chyba że polecenie zatrzymania na poziomie grupy został wydany.
- Lepsze komunikat gdy serwer HTTP nie może odwrócić-rozwiązać nazwy hosta na adres IP. Poprzedni Zachowanie: pokaż błąd gniazda. Obecne zachowanie. Wypluć sugestie na standardowe wyjście,
- Zmienne środowiskowe ustawione poprzez środowisko = wartość ciągu
- [supervisord] sekcja nie miała wpływu. Dzięki Wyatt Baldwin na poprawki.
- Naprawiono błąd, gdzie proces zatrzymywania spowoduje wyjście procesu, co wydarzyło się po polecenie zatrzymania została wydana do stracenia. Zobacz https://github.com/Supervisor/supervisor/issues/11.
- Przeniesiony zmiany 2.X wpisy dziennika język HISTORY.txt.
- Budynek Zmiany.txt i README.txt do prawidłowego reStructuredText i zawiera je w long_description w setup.py.
- Dodano tox.ini do pakietu (prowadzonym przez tox w pakiecie dir). Testy przełożony na wielu wersjach Pythona.
Wymagania :
- Python
Komentarze nie znaleziono