Supervisor este un sistem client / server care permite utilizatorilor săi să controleze un număr de procese pe sisteme de operare UNIX-like. Acesta a fost inspirat de următoarele:
- Este de multe ori incomod de a trebui să scrie "rc.d" script-uri pentru fiecare instanță de proces. script-rc.d sunt o formă mare cel mai mic numitor comun-a procesului de initializare / autostart / management, dar ele pot fi dureroase pentru a scrie și de a menține. În plus, script-rc.d nu poate reporni în mod automat un proces prăbușit și multe programe nu se reporni în mod corespunzător pe un accident. Supervisord începe procese, subprocese sale, și poate fi configurat pentru a le reporni în mod automat pe un accident. De asemenea, poate fi configurat să pornească automat procesele pe cont propriu invocare.
- E de multe ori greu sa obtii corecte sus / jos statutul pe procesele pe UNIX. Pidfiles de multe ori mint. Supervisord începe procese, după subprocese, așa că știe întotdeauna adevărat sus statutul / jos de copiii ei și pot fi interogate convenabil pentru aceste date.
- Utilizatorii care au nevoie pentru a controla starea proces de multe ori trebuie doar să faci asta. Ei nu doresc sau au nevoie de acces în plină floare coajă de masina pe care procesele se execută. Supervisorctl permite o formă foarte limitat de acces la aparat, în esență, permite utilizatorilor să vadă stare proces și de control controlat supervisord subprocese de emițătoare "stop", "start", și "restart" Comenzi de la un simplu coajă sau UI web.
- Utilizatorii de multe ori nevoie pentru a controla procesele pe mai multe masini. Supervisor furnizează un mecanism simplu, sigur și uniform pentru procesele controlul interactiv și în mod automat pe grupe de masini.
- Procese care asculta pe porturi "low" TCP trebuie de multe ori să fie pornit și repornit ca utilizator root (a misfeature UNIX). Este de obicei cazul în care este perfect în regulă pentru a permite oamenilor "normali" pentru a opri sau reporni un astfel de proces, dar oferindu-le acces shell este adesea imposibil, și oferindu-le acces root sau accesul sudo este de multe ori imposibil. Este, de asemenea (pe bună dreptate) greu să le explic de ce există această problemă. Dacă supervisord este pornit ca root, este posibil să se permită utilizatorilor "normale" pentru a controla astfel de procese fără a fi nevoie de a explica complexitatea problemei pentru a le.
- Procesele trebuie de multe ori să fie pornită și oprită în grupuri, uneori chiar într-o "ordine de prioritate". Este adesea dificil de explicat oamenilor cum să facă acest lucru. Supervizor vă permite să atribuiți prioritățile proceselor, și permite utilizatorului să emită comenzi prin intermediul clientului supervisorctl ca "începe toate", și "reporni toate", care le începe în ordinea de prioritate preatribuită. În plus, procesele pot fi grupate în "grupuri de proces" și un set de procese legate logic poate fi oprit și a început ca s-a adăugat un sistem unit.otification.
Ce este nou din această versiune:
- Comportamentul utilizatorului opțiunea de program sa schimbat. În toate versiunile anterioare, dacă supervisord nu a reușit pentru a comuta la utilizator, un avertisment va fi trimis la jurnalul stderr dar procesul copil ar fi în continuare dat naștere. Acest lucru înseamnă că o greșeală în fișierul de configurare ar putea duce la un proces copil fiind neintenționat dat nastere ca root. Acum, supervisord nu va da naștere copilul excepția cazului în care a fost posibilitatea de a trece cu succes pentru utilizator. Vă mulțumim pentru Igor Partola pentru raportarea acestei probleme.
- Dacă un utilizator specificat în fișierul de configurare nu exista pe sistemul, supervisord va imprima acum o eroare și refuză să înceapă.
- a renunțat o schimbare exploatării forestiere introdus în 3.0b1, care a fost destinat să permită mai multe procese pentru a vă conecta la același fișier cu handler jurnal de rotație. Punerea în aplicare a provocat supervisord la accident în timpul de reîncărcare și să se scurgă mânere de fișiere. De asemenea, din moment ce opțiuni de rotație jurnal sunt oferite pe bază de program, configurații imposibil ar putea fi create (opțiuni de rotație în conflict pentru același fișier). Având în vedere acest lucru și că supervisord acum are suport syslog, sa decis să elimine această caracteristică. Un avertisment a fost adăugat la documentația care două procese nu pot loga la același fișier.
- Fixed un bug în cazul în care comanda parsarea = ar putea provoca supervisord la crash dacă shlex.split () eșuează, cum ar fi un rău citând. Patch de Scott Wilson.
- Acum este posibil să se utilizeze supervisorctl pe o mașină cu nici un fișier supervisord.conf prin furnizarea informațiilor de conectare în opțiunile de linie de comandă. Patch de Jens Rantil.
- Fixed un bug în cazul în care s-ar prăbuși dacă supervisord handler syslog a fost folosit și supervisord primit SIGUSR2 (log cerere redeschide).
- Fixed un bug XML-RPC unde asteptare supervisor.getProcessInfo (), cu un nume de rău ar provoca un 500 Internal Server Error, mai degrabă decât întoarcerea o defecțiune BAD_NAME.
- Adăugat un favicon la interfața web. Patch de Caio Ariede.
- Fixed un eșec încercare din cauza manipulării incorecte de timp de vară în testele childutils. Patch de Ildar Hizbulin.
- fix un număr de pyflakes avertismente pentru variabilele nefolosite, importurile, și codul mort. Patch de Philippe Ombredanne.
Ce este nou în versiunea 3.0 Beta 1:
- Fixed un bug în cazul în care mediul de parsare = nu verifica care perechi cheie / valoare s-au separat în mod corect. Patch de Martijn Pieters.
- Fixed un bug în codul de server HTTP care ar putea provoca întârzieri inutile la trimiterea de răspunsuri mari. Patch de Philip Zeyliger.
- Când supervisord pornește ca root, în cazul în care steagul -c nu a fost prevăzut, o avertizare este acum emis la consola. Raționament: supervisord arată în directorul de lucru curent pentru un fișier supervisord.conf; cineva ar putea pacali utilizatorul root în incepand supervisord în timp ce cd'ed într-un director care are o supervisord.conf necinstiți.
- Un avertisment a fost adăugat la documentația cu privire la implicațiile de securitate de la începerea supervisord fără pavilionul -c.
- Adaugă o boolean opțiune program de stopasgroup, obligațiile de fals. Când adevărat, supraveghetorul cauze de pavilion pentru a trimite semnalul de oprire a întregului grup de proces. Acest lucru este util pentru programe, cum ar fi Flask în modul depanare, care nu propagă semnalele de oprire a copiilor lor, lăsându-i orfan.
- Python 2.3 nu mai este acceptat. Ultima versiune care a sprijinit Python 2.3 este Supervizor 3.0a12.
- Eliminat neutilizate & quot; supervisor_rpc & quot; punct de intrare de la setup.py.
- Fixed un bug în handler jurnal rotativ care ar duce la rezultate neașteptate atunci când două procese au fost stabilite pentru a vă conecta la același fișier. Patch de Whit Morriss.
- Fixed un bug în fișierul de configurare reîncărcare în care fiecare reîncărcare poate ajunge memorie din cauza o listă a mesajelor de avertizare va fi anexată, dar nu respingă. Patch de Philip Zeyliger.
- Adaugata o nouă handler jurnal Syslog. Datorită Denis Bilenko, Nathan L. Smith, și Jason R. Coombs, care fiecare a contribuit la patch-uri.
- Puneți toate istorie schimba într-un singur fișier (CHANGES.txt).
Ce este nou în versiunea 3.0 Alpha 12:
- Eliberat pentru a înlocui un rupt 3.0a11 pachet în cazul în care nu Fișierele -Python nu au fost incluse în pachet.
Ce este nou în versiunea 3.0 Alpha 10:
- fixă foaia de stil a interfeței web astfel subsol line nu se vor suprapune o listă proces îndelungat. Vă mulțumim pentru Derek DeVries pentru plasturele.
- Permiteți plugin-uri de interfață RPC pentru a înregistra noile tipuri de evenimente.
- fix Bug pentru FCGI prize nu obtinerea curățat atunci când comanda de reîncărcare este eliberat din supervisorctl. De asemenea, comportamentul implicit sa schimbat pentru prize FCGI. Acestea sunt noi închis atunci când numărul de procese ofrunning într-un grup ajunge la zero. Anterior, mufele au fost ținute deschise, cu excepția cazului a fost emisă o comandă de oprire nivel de grup de.
- mesaj de eroare mai bine atunci când server HTTP nu poate inversa-rezolva un nume de gazdă la o adresă IP. Comportamentul precedent: arată o eroare socket. Comportamentul curent:. Scuipa o sugestie la stdout
- Variabile de mediu stabilite prin mediu = valoare în
- [supervisord] secțiune a avut nici un efect. Vă mulțumim pentru Wyatt Baldwin pentru un plasture.
- Fix bug în cazul în care procesul de oprire ar putea duce la ieșirile de proces ce sa întâmplat după ce cererea de oprire a fost eliberat să se piardă. Vezi https://github.com/Supervisor/supervisor/issues/11.
- schimbărilor 2.X Mutat intrări jurnal în history.txt.
- convertită CHANGES.txt și README.txt în ReStructuredText corespunzătoare și le-a inclus în long_description în setup.py.
- Adăugat o tox.ini la pachetul (a alerga prin toxicologic în dir pachet). Teste de supervizor pe mai multe versiuni Python.
Cerințe :
- Python
Comentariile nu a fost găsit