Επόπτης είναι ένα σύστημα πελάτη / διακομιστή που επιτρέπει στους χρήστες να ελέγχουν μια σειρά διεργασιών στο UNIX-like λειτουργικά συστήματα. Ήταν εμπνευσμένη από το ακόλουθο κείμενο:
- Είναι συχνά ενοχλητικό να χρειάζεται να γράψετε "rc.d" σενάρια για κάθε περίπτωση διαδικασία. rc.d scripts είναι μια μεγάλη μορφή χαμηλότερο κοινό παρονομαστή της διαδικασίας προετοιμασίας / autostart / διαχείριση, αλλά μπορεί να είναι επώδυνη για να γράψει και να διατηρηθεί. Επιπλέον, rc.d scripts δεν είναι δυνατή η επανεκκίνηση αυτόματα μια διαδικασία συνετρίβη και πολλά προγράμματα δεν κάνουν επανεκκίνηση του σωστά σε μια συντριβή. Supervisord ξεκινά διαδικασίες ως επιμέρους διεργασίες του, και μπορεί να ρυθμιστεί ώστε να τους επανεκκινήσει αυτόματα σε συντριβή. Μπορεί επίσης αυτόματα να ρυθμιστεί ώστε να ξεκινήσει τις διαδικασίες για τη δική επίκλησή του.
- Είναι συχνά δύσκολο να πάρει ακριβή πάνω / κάτω σχετικά με την κατάσταση των διαδικασιών σε UNIX. Pidfiles συχνά ψέματα. Supervisord ξεκινά διαδικασίες ως επιμέρους διεργασίες, έτσι ώστε να γνωρίζουν πάντα την αλήθεια πάνω / κάτω κατάσταση των παιδιών του και μπορούν να αναζητηθούν εύκολα για αυτά τα δεδομένα.
- Οι χρήστες που χρειάζονται για τον έλεγχο των κρατικών διαδικασία συχνά μόνο που χρειάζεται να το κάνουμε αυτό. Δεν θέλουν ή δεν χρειάζονται πλήρη άνθηση πρόσβαση κέλυφος στο μηχάνημα στο οποίο οι διεργασίες που εκτελούνται. Supervisorctl επιτρέπει μια πολύ περιορισμένη μορφή πρόσβασης στο μηχάνημα, κατ 'ουσίαν, επιτρέποντας στους χρήστες να δείτε την κατάσταση της διαδικασίας και τον έλεγχο supervisord ελεγχόμενη υποδιεργασίες με την εκπομπή "στάση", "Start", και "επανεκκίνηση" εντολές από ένα απλό κέλυφος ή web UI.
- Συχνά οι χρήστες πρέπει να ελέγχουν τις διαδικασίες σε πολλές μηχανές. Επόπτης παρέχει μια απλή, ασφαλή, και ενιαίος μηχανισμός για διαδραστικά και αυτόματα τον έλεγχο των διαδικασιών για τις ομάδες των μηχανημάτων.
- Διαδικασίες που ακούει στο "χαμηλό" θύρες TCP πρέπει συχνά να αρχίσει και να ξαναρχίσει ως χρήστης root (α misfeature UNIX). Είναι συνήθως η περίπτωση που αυτό είναι απολύτως εντάξει για να επιτρέψετε "κανονικούς" ανθρώπους για να σταματήσει ή να επανεκκινήσετε μια τέτοια διαδικασία, αλλά παρέχοντάς τους πρόσβαση κέλυφος είναι συχνά πρακτικό, αλλά και παρέχοντάς τους πρόσβαση ρίζας ή πρόσβαση sudo είναι συχνά αδύνατη. Είναι επίσης (σωστά) είναι δύσκολο να τους εξηγήσει γιατί υπάρχει αυτό το πρόβλημα. Αν supervisord ξεκινήσει ως root, είναι δυνατόν να επιτραπεί σε «κανονική» στους χρήστες να ελέγχουν αυτές τις διαδικασίες χωρίς να χρειάζεται να εξηγήσει τις ιδιαιτερότητες του προβλήματος σε αυτούς.
- Διεργασίες συχνά χρειάζεται να ξεκινά και να σταματά σε ομάδες, μερικές φορές ακόμη και σε μια «σειρά προτεραιότητας». Είναι συχνά δύσκολο να εξηγηθεί στους ανθρώπους πώς να το κάνουμε αυτό. Επόπτης σας επιτρέπει να ορίσετε προτεραιότητες για τις διαδικασίες, και επιτρέπει στο χρήστη να εκπέμψει εντολές μέσω του πελάτη supervisorctl σαν "να ξεκινήσουν", και "restart όλους», το οποίο τους ξεκινά στην προκαθορισμένη σειρά προτεραιότητας. Επιπλέον, οι διαδικασίες μπορούν να ομαδοποιηθούν σε «ομάδες της διαδικασίας" και μια σειρά από λογικά συναφείς διαδικασίες μπορεί να σταματήσει και ξεκίνησε ως προστέθηκε ένα σύστημα unit.otification.
Τι είναι καινούργιο αυτή η έκδοση:
- Η συμπεριφορά του χρήστη η επιλογή του προγράμματος έχει αλλάξει. Σε όλες τις προηγούμενες εκδόσεις, εάν supervisord παρέλειψε να στραφούν προς τον χρήστη, μια προειδοποίηση θα αποσταλεί στο αρχείο καταγραφής stderr αλλά η διαδικασία παιδί θα εξακολουθούσε να γεννήσει. Αυτό σημαίνει ότι ένα λάθος στο αρχείο ρυθμίσεων θα μπορούσε να οδηγήσει σε μια διαδικασία παιδί που ακούσια γεννήσει ως root. Τώρα, supervisord δεν θα αναπαράγονται το παιδί αν δεν ήταν σε θέση να μετακινηθούν με επιτυχία στο χρήστη. Χάρη στην Ιγκόρ Partola για αναφέρετε αυτό το πρόβλημα.
- Εάν ένας χρήστης που ορίζεται στο αρχείο ρυθμίσεων δεν υπάρχει στο σύστημα, supervisord τώρα θα εκτυπωθεί ένα λάθος και αρνούνται να ξεκινήσετε.
- Ανάκληση αλλαγή υλοτομίας εισαχθεί σε 3.0b1, που είχε ως στόχο να επιτρέψει πολλαπλές διαδικασίες για να συνδεθείτε στο ίδιο αρχείο με το περιστρεφόμενο χειριστή καταγραφής. Η εφαρμογή προκάλεσε supervisord να συντριβή κατά τη διάρκεια της reload και να διαρρεύσει λαβές αρχείο. Επίσης, δεδομένου ότι οι επιλογές περιστροφής καταγραφής δίνεται σε κάθε πρόγραμμα, αδύνατο διαμορφώσεις θα μπορούσαν να δημιουργηθούν (αντικρουόμενες επιλογές περιστροφή για το ίδιο αρχείο). Λαμβάνοντας υπόψη αυτό και ότι supervisord τώρα έχει syslog υποστήριξη, αποφασίστηκε να αφαιρέσει αυτό το χαρακτηριστικό. Μια προειδοποίηση προστέθηκε στην τεκμηρίωση ότι δύο διαδικασιών δεν μπορεί να συνδεθεί στο ίδιο αρχείο.
- Διορθώθηκε ένα bug όπου parsing εντολή = θα μπορούσε να προκαλέσει supervisord να διακοπεί εάν shlex.split () αποτυγχάνει, όπως μια κακή παραθέτοντας. Patch από τον Scott Wilson.
- Είναι πλέον δυνατή η χρήση supervisorctl σε ένα μηχάνημα χωρίς αρχείο supervisord.conf με την παροχή των πληροφοριών σύνδεσης στις επιλογές της γραμμής εντολών. Patch από τον Jens Rantil.
- Διορθώθηκε ένα bug όπου supervisord θα συντριβή αν το syslog χειριστή χρησιμοποιήθηκε και supervisord έλαβε SIGUSR2 (log ανοίξει εκ νέου αιτήματος).
- Διορθώθηκε το bug XML-RPC, όπου καλώντας supervisor.getProcessInfo () με ένα κακό όνομα θα προκαλέσει 500 Εσωτερικό σφάλμα διακομιστή και όχι η επιστροφή ενός σφάλματος BAD_NAME.
- Προστέθηκε ένα favicon για το web interface. Patch από τον Caio Ariede.
- Διορθώθηκε αποτυχία δοκιμής λόγω εσφαλμένου χειρισμού θερινή ώρα στις δοκιμές childutils. Patch από Ildar Hizbulin.
- Διορθώθηκε αριθμός των pyflakes προειδοποιήσεις για τα αχρησιμοποίητα μεταβλητές, οι εισαγωγές, και τους νεκρούς κώδικα. Patch από τον Philippe Ombredanne.
Τι είναι καινούργιο στην έκδοση 3.0 Beta 1:
- Διορθώθηκε ένα bug όπου parsing περιβάλλον = δεν επαληθεύει ότι τα ζευγάρια κλειδί / τιμή ήταν σωστά διαχωρισμένα. Patch Ο Martijn Pieters.
- Διορθώθηκε ένα bug στον κώδικα του εξυπηρετητή HTTP που θα μπορούσε να προκαλέσει περιττές καθυστερήσεις κατά την αποστολή μεγάλες αντιδράσεις. Patch από τον Φίλιππο Zeyliger.
- Όταν supervisord ξεκινά ως root, εάν η -c σημαία δεν είχε προβλεφθεί, μια προειδοποίηση εκπέμπεται τώρα στην κονσόλα. Σκεπτικό: supervisord φαίνεται στον τρέχοντα κατάλογο εργασίας για ένα αρχείο supervisord.conf? κάποιος θα μπορούσε να ξεγελάσουν το χρήστη root σε εκκίνηση supervisord ενώ cd'ed σε έναν κατάλογο που έχει ένας αδίστακτος supervisord.conf.
- Μια προειδοποίηση προστέθηκε στην τεκμηρίωση σχετικά με τις επιπτώσεις στην ασφάλεια από την έναρξη της supervisord χωρίς την -c σημαία.
- Προσθέστε ένα Boolean stopasgroup επιλογή προγράμματος, αθέτησαν σε false. Όταν η αληθινή, ο επιβλέπων αιτίες σημαία για να στείλετε το σήμα στάσης σε ολόκληρη την ομάδα διαδικασία. Αυτό είναι χρήσιμο για τα προγράμματα, όπως φιάλη σε λειτουργία εντοπισμού σφαλμάτων, που δεν διαδίδουν σήματα διακοπής για τα παιδιά τους, αφήνοντας τους ορφανά.
- Python 2.3 δεν υποστηρίζεται πλέον. Η τελευταία έκδοση που υποστηρίζεται Python 2.3 είναι Επόπτη 3.0a12.
- Αφαιρέθηκε το αχρησιμοποίητο & quot? Supervisor_rpc & quot? σημείο εισόδου από setup.py.
- Διορθώθηκε ένα σφάλμα στο περιστρεφόμενο χειριστή καταλόγου που θα μπορούσε να προκαλέσει απροσδόκητα αποτελέσματα όταν δύο διαδικασίες τέθηκαν για να συνδεθείτε στο ίδιο αρχείο. Patch από Πεντηκοστής Morriss.
- Διορθώθηκε ένα σφάλμα στο αρχείο ρυθμίσεων επαναφόρτωση όπου κάθε reload θα μπορούσε να προκαλέσει απώλεια μνήμης, επειδή μια λίστα με τα μηνύματα προειδοποίησης θα πρέπει να επισυνάπτεται, αλλά ποτέ δεν εκκαθαριστεί. Patch από τον Φίλιππο Zeyliger.
- Προστέθηκε μια νέα Syslog χειριστή καταλόγου. Χάρη στον Denis Bilenko, Nathan L. Smith, και ο Jason R. Coombs, οι οποίοι κάθε συνέβαλαν στο επίθεμα.
- Βάλτε όλη την ιστορία αλλαγή σε ένα ενιαίο αρχείο (CHANGES.txt).
Τι είναι καινούργιο στην έκδοση 3.0 Άλφα 12:
- Κυκλοφόρησε για να αντικαταστήσει ένα σπασμένο 3.0a11 πακέτο όπου η μη -Python αρχεία δεν περιλαμβάνεται στο πακέτο.
Τι είναι καινούργιο στην έκδοση 3.0 Άλφα 10:
- Σταθερό το στυλ της διεπαφής Ιστού, ώστε το υποσέλιδο γραμμή δεν θα επικαλύπτονται μια μακρά λίστα διεργασιών. Χάρη στον Derek DeVries για την ενημερωμένη έκδοση κώδικα.
- Να επιτρέπεται plugins διασύνδεση RPC να εγγραφείτε νέους τύπους εκδηλώσεων.
- Bug fix για FCGI πρίζες δεν πάει να πλυθεί όταν η εντολή reload εκδίδεται από supervisorctl. Επίσης, η προεπιλεγμένη συμπεριφορά έχει αλλάξει για πρίζες FCGI. Πρόκειται για νέο κλειστό όταν ο αριθμός ofrunning διαδικασίες σε μια ομάδα μηδενιστεί. Προηγουμένως, οι υποδοχές κρατήθηκαν ανοικτές, εκτός εάν έχει εκδοθεί εντολή διακοπής σε επίπεδο ομάδας.
- Καλύτερη μήνυμα λάθους όταν ο διακομιστής HTTP δεν μπορεί να αντιστρέψει-επιλύσει ένα όνομα σε μια διεύθυνση IP. Προηγούμενη συμπεριφορά: δείχνουν μια λάθος υποδοχή. Τρέχουσα συμπεριφορά:. Φτύσει μια πρόταση στο stdout
- Μεταβλητές περιβάλλοντος μέσω του περιβάλλοντος = αξία μέσα
- [supervisord] ενότητα δεν είχε καμία επίδραση. Χάρη στην Wyatt Baldwin για ένα patch.
- Διόρθωση bug όπου η διαδικασία θα μπορούσε να προκαλέσει τη διακοπή της εξόδου διεργασίας που συνέβη μετά την αίτηση διακοπής εκδόθηκε για να χαθεί. Δείτε https://github.com/Supervisor/supervisor/issues/11.
- Μεταφέρθηκε αλλαγή 2.x, καταχωρήσεις ημερολογίου σε HISTORY.txt.
- Μετατροπή CHANGES.txt και README.txt στη σωστή ReStructuredText και τους περιλαμβάνονται στο long_description σε setup.py.
- Προστέθηκε μια tox.ini στη συσκευασία (τρέχει μέσω tox σε σκην πακέτο). Δοκιμές επόπτη σε πολλαπλές εκδόσεις της Python.
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε