EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

echo_supervisord_conf – Online in der Cloud

Führen Sie echo_supervisord_conf im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl echo_supervisord_conf, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


echo_supervisord_conf – Supervisor-Konfigurationsdokumentation

Supervisor ist ein Client/Server-System, das es seinen Benutzern ermöglicht, eine Nummer zu überwachen und zu steuern
von Prozessen auf UNIX-ähnlichen Betriebssystemen.

Es teilt einige der gleichen Ziele von Programmen wie launchd, daemontools und runit. nicht wie
einige dieser Programme, es ist nicht als Ersatz für init als "Prozess-ID"
1". Stattdessen soll es verwendet werden, um Prozesse im Zusammenhang mit einem Projekt oder einer
Kunde und soll wie jedes andere Programm beim Booten gestartet werden.

DOKUMENTATION


Erstellen a Konfiguration Reichen Sie das
Sobald die Supervisor-Installation abgeschlossen ist, führen Sie sie aus echo_supervisord_conf. Dieser Wille
Drucken Sie eine „Beispiel“-Supervisor-Konfigurationsdatei auf der Standardausgabe Ihres Terminals.

Sobald Sie sehen, dass die Datei an Ihr Terminal gesendet wird, rufen Sie den Befehl erneut auf als
echo_supervisord_conf > /etc/supervisord.conf. Dies funktioniert nicht, wenn Sie nicht über Root verfügen
zugreifen.

Wenn Sie keinen Root-Zugriff haben oder dies lieber nicht tun möchten supervisord.conf Datei in
/etc/supervisord.conf`, können Sie es im aktuellen Verzeichnis ablegen (echo_supervisord_conf >
supervisord.conf) und Start Supervisor an. Nach der Installation können Sie HEIC-Dateien mit der -c Flag, um das anzugeben
Speicherort der Konfigurationsdatei.

Zum Beispiel, Supervisor -c supervisord.conf. Verwendung der -c Flag ist tatsächlich überflüssig in
in diesem Fall, weil Supervisor durchsucht das aktuelle Verzeichnis nach a supervisord.conf
bevor es andere Speicherorte nach der Datei durchsucht, aber es wird funktionieren.

Sobald Sie eine Konfigurationsdatei in Ihrem Dateisystem haben, können Sie damit beginnen, diese an Ihr Dateisystem anzupassen
Geschmack.

Konfiguration Reichen Sie das
Die Supervisor-Konfigurationsdatei wird üblicherweise benannt supervisord.conf. Es wird verwendet von
beide Supervisor und Supervisorctl. Wenn eine der Anwendungen ohne gestartet wird -c
Option (die Option, die verwendet wird, um der Anwendung den Namen der Konfigurationsdatei mitzuteilen).
explizit), sucht die Anwendung nach einer Datei mit dem Namen supervisord.conf innerhalb der
folgenden Orten in der angegebenen Reihenfolge. Es wird die erste gefundene Datei verwenden.

1. $CWD/supervisord.conf

2. $CWD/etc/supervisord.conf

3. /etc/supervisord.conf

4. ../etc/supervisord.conf (Bezogen auf die ausführbare Datei)

5. ../supervisord.conf (Bezogen auf die ausführbare Datei)

Anmerkungen:
Einige Distributionen haben Supervisor mit eigenen Anpassungen verpackt. Diese
Modifizierte Versionen von Supervisor laden die Konfigurationsdatei möglicherweise von anderen Speicherorten
als die hier beschriebenen. Es wurden insbesondere Ubuntu-Pakete gefunden, die diese Funktion nutzen
/etc/supervisor/supervisord.conf.

Reichen Sie das Format
supervisord.conf ist eine Datei im Windows-INI-Stil (Python ConfigParser). Es hat Abschnitte (jeweils
bezeichnet mit a [Header]) und Schlüssel/Wert-Paare innerhalb der Abschnitte. Die Abschnitte und ihre
Die zulässigen Werte werden unten beschrieben.

Arbeitsumfeld Variablen
Umgebungsvariablen, die zu diesem Zeitpunkt in der Umgebung vorhanden sind Supervisor is
Gestartet kann in der Konfigurationsdatei mithilfe der Python-String-Ausdruckssyntax verwendet werden
%(ENV_X)s:

[Programm:Beispiel]
command=/usr/bin/example --loglevel=%(ENV_LOGLEVEL)s

Im obigen Beispiel der Ausdruck %(ENV_LOGLEVEL)s würde auf den Wert erweitert werden
die Umgebungsvariable LOGEBENE.

Anmerkungen:
In Supervisor 3.2 und höher: %(ENV_X)s Ausdrücke werden in allen Optionen unterstützt. In
In früheren Versionen werden sie von einigen Optionen unterstützt, von den meisten jedoch nicht. Weitere Informationen finden Sie in der Dokumentation
jede Option unten.

[unix_http_server] Abschnitt Einstellungen
Das supervisord.conf Die Datei enthält einen Abschnitt mit dem Namen [unix_http_server] unter welchen
Konfigurationsparameter für einen HTTP-Server, der auf einem UNIX-Domänen-Socket lauscht, sein sollten
eingefügt. Wenn die Konfigurationsdatei keine enthält [unix_http_server] Abschnitt, eine UNIX-Domäne
Der Socket-HTTP-Server wird nicht gestartet. Die zulässigen Konfigurationswerte sind wie folgt
folgt.

[unix_http_server] Abschnitt Werte
Datei
Ein Pfad zu einem UNIX-Domänen-Socket (z. B /tmp/supervisord.sock), auf welchen Vorgesetzten
Warten Sie auf HTTP/XML-RPC-Anfragen. Supervisorctl verwendet XML-RPC zur Kommunikation
Supervisor über diesen Hafen. Diese Option kann den Wert enthalten %(hier)s, was sich ausdehnt
in das Verzeichnis, in dem sich die Supervisor Konfigurationsdatei wurde gefunden.

Standard: Keine.

Erforderlich: Nein.

Eingeführt: 3.0

chmod
Ändern Sie die UNIX-Berechtigungsmodusbits des UNIX-Domänen-Sockets auf diesen Wert unter
Anfang.

Standard: 0700

Erforderlich: Nein.

Eingeführt: 3.0

chown
Ändern Sie den Benutzer und die Gruppe der Socket-Datei auf diesen Wert. Möglicherweise ein UNIX-Benutzername
(z.B Chrisma) oder ein durch einen Doppelpunkt getrennter UNIX-Benutzername und eine Gruppe (z. B Chrisma: Rad).

Standard: Verwenden Sie den Benutzernamen und die Gruppe des Benutzers, der supervisord startet.

Erforderlich: Nein.

Eingeführt: 3.0

Benutzername
Der für die Authentifizierung bei diesem HTTP-Server erforderliche Benutzername.

Standard: Kein Benutzername erforderlich.

Erforderlich: Nein.

Eingeführt: 3.0

Passwort
Das für die Authentifizierung bei diesem HTTP-Server erforderliche Passwort. Dies kann ein Klartext sein
Passwort oder kann als SHA-1-Hash angegeben werden, wenn ihm die Zeichenfolge vorangestellt wird {SHA}. For
Beispiel {SHA}82ab876d1387bfafe46cc1c8a2ef074eae50cb1d ist die SHA-gespeicherte Version von
Passwort „thepassword“.

Beachten Sie, dass das gehashte Passwort im Hexadezimalformat vorliegen muss.

Standard: Kein Passwort erforderlich.

Erforderlich: Nein.

Eingeführt: 3.0

[unix_http_server] Abschnitt Beispiel
[unix_http_server]
Datei = /tmp/supervisor.sock
chmod = 0777
chown=niemand:keineGruppe
Benutzername = Benutzer
Passwort = 123

[inet_http_server] Abschnitt Einstellungen
Das supervisord.conf Die Datei enthält einen Abschnitt mit dem Namen [inet_http_server] unter welchen
Konfigurationsparameter für einen HTTP-Server, der auf einem TCP-(Internet-)Socket lauscht
eingefügt werden. Wenn die Konfigurationsdatei keine enthält [inet_http_server] Abschnitt, ein inet HTTP
Der Server wird nicht gestartet. Die zulässigen Konfigurationswerte sind wie folgt.

[inet_http_server] Abschnitt Werte
port
Ein TCP-Host:Port-Wert oder (z. B 127.0.0.1:9001), auf den der Vorgesetzte hören wird
HTTP/XML-RPC-Anfragen. Supervisorctl wird XML-RPC zur Kommunikation verwenden Supervisor
über diesen Hafen. Um alle Schnittstellen in der Maschine abzuhören, verwenden Sie : 9001 or *:9001.

Standard: Kein Standard.

Erforderlich: Ja.

Eingeführt: 3.0

Benutzername
Der für die Authentifizierung bei diesem HTTP-Server erforderliche Benutzername.

Standard: Kein Benutzername erforderlich.

Erforderlich: Nein.

Eingeführt: 3.0

Passwort
Das für die Authentifizierung bei diesem HTTP-Server erforderliche Passwort. Dies kann ein Klartext sein
Passwort oder kann als SHA-1-Hash angegeben werden, wenn ihm die Zeichenfolge vorangestellt wird {SHA}. For
Beispiel {SHA}82ab876d1387bfafe46cc1c8a2ef074eae50cb1d ist die SHA-gespeicherte Version von
Passwort „thepassword“.

Beachten Sie, dass das gehashte Passwort im Hexadezimalformat vorliegen muss.

Standard: Kein Passwort erforderlich.

Erforderlich: Nein.

Eingeführt: 3.0

[inet_http_server] Abschnitt Beispiel
[inet_http_server]
Port = 127.0.0.1:9001
Benutzername = Benutzer
Passwort = 123

[Betreuer] Abschnitt Einstellungen
Das supervisord.conf Die Datei enthält einen Abschnitt mit dem Namen [Betreuer] in welchen globalen Einstellungen
verwandt mit Supervisor Prozess eingefügt werden soll. Diese lauten wie folgt.

[Betreuer] Abschnitt Werte
Logdatei
Der Pfad zum Aktivitätsprotokoll des Supervisord-Prozesses. Diese Option kann Folgendes umfassen:
Wert %(hier)s, das in das Verzeichnis erweitert wird, in dem sich die Supervisord-Konfiguration befindet
Datei wurde gefunden.

Standard: $CWD/supervisord.log

Erforderlich: Nein.

Eingeführt: 3.0

logfile_maxbytes
Die maximale Anzahl an Bytes, die von der Aktivitätsprotokolldatei verbraucht werden dürfen, bevor dies der Fall ist
gedreht (Suffixmultiplikatoren wie „KB“, „MB“ und „GB“ können im Wert verwendet werden). Satz
Setzen Sie diesen Wert auf 0, um eine unbegrenzte Protokollgröße anzugeben.

Standard: 50MB

Erforderlich: Nein.

Eingeführt: 3.0

logfile_backups
Die Anzahl der Backups, die aufgrund der Rotation der Aktivitätsprotokolldateien aufbewahrt werden müssen. Wenn festgelegt
auf 0, es werden keine Backups gespeichert.

Standard: 10

Erforderlich: Nein.

Eingeführt: 3.0

loglevel
Die Protokollierungsstufe bestimmt, was in das Aktivitätsprotokoll des Supervisors geschrieben wird. Einer von
kritischem, Fehler, warnen, Info, debuggen, Spur, oder quasseln. Beachten Sie dies auf Protokollebene debuggen,
Die Supervisord-Protokolldatei zeichnet die stderr/stdout-Ausgabe ihrer untergeordneten Prozesse auf
und erweiterte Informationen zu Prozessstatusänderungen, die für das Debuggen von nützlich sind
Prozess, der nicht richtig startet. Siehe auch:activity_log_levels.

Standard: die Info

Erforderlich: Nein.

Eingeführt: 3.0

pid-Datei
Der Speicherort, an dem supervisord seine PID-Datei speichert. Diese Option kann Folgendes umfassen:
Wert %(hier)s, das in das Verzeichnis erweitert wird, in dem sich die Supervisord-Konfiguration befindet
Datei wurde gefunden.

Standard: $CWD/supervisord.pid

Erforderlich: Nein.

Eingeführt: 3.0

umask
Die Umask des Supervisord-Prozesses.

Standard: 022

Erforderlich: Nein.

Eingeführt: 3.0

Nodaemon
Wenn „true“, startet supervisord im Vordergrund, anstatt zu dämonisieren.

Standard: FALSCH

Erforderlich: Nein.

Eingeführt: 3.0

minfds
Die Mindestanzahl an Dateideskriptoren, die verfügbar sein müssen, bevor Supervisord dies tut
erfolgreich starten. Es wird ein Aufruf von setrlimit durchgeführt, um zu versuchen, die Soft- und zu erhöhen
harte Grenzen des Supervisord-Prozesses zu erfüllen minfds. Die harte Grenze darf nur sein
wird ausgelöst, wenn Supervisord als Root ausgeführt wird. Supervisord verwendet Dateideskriptoren großzügig und
geht in einen Fehlermodus über, wenn einer vom Betriebssystem nicht abgerufen werden kann, daher ist es sinnvoll, dies zu tun
Sie können einen Mindestwert angeben, um sicherzustellen, dass sie während der Ausführung nicht ausgehen.
Diese Option ist besonders nützlich unter Solaris, wo es ein niedriges fd-Limit pro Prozess gibt
default.

Standard: 1024

Erforderlich: Nein.

Eingeführt: 3.0

Minprocs
Die Mindestanzahl an Prozessdeskriptoren, die vor Supervisord verfügbar sein müssen
wird erfolgreich gestartet. Es wird ein Aufruf von setrlimit durchgeführt, um zu versuchen, den Soft zu erhöhen
und harte Grenzen des Supervisord-Prozesses, die es zu erfüllen gilt Minprocs. Die harte Grenze kann
wird nur ausgelöst, wenn Supervisord als Root ausgeführt wird. Der Vorgesetzte wechselt in den Fehlermodus
Wenn dem Betriebssystem die Prozessdeskriptoren ausgehen, ist es sinnvoll, dafür zu sorgen, dass genügend vorhanden sind
Prozessbeschreibungen sind verfügbar Supervisor Anfang.

Standard: 200

Erforderlich: Nein.

Eingeführt: 3.0

keine Bereinigung
Verhindern Sie, dass der Vorgesetzte vorhandene Dateien löscht AUTO untergeordnete Protokolldateien beim Start.
Nützlich zum Debuggen.

Standard: FALSCH

Erforderlich: Nein.

Eingeführt: 3.0

Kinderlogverzeichnis
Das Verzeichnis, für das verwendet wird AUTO untergeordnete Protokolldateien. Diese Option kann den Wert enthalten
%(hier)s, das auf das Verzeichnis erweitert wird, in dem sich die Supervisor Konfigurationsdatei
wurde gefunden.

Standard: Wert von Python tempfile.get_tempdir()

Erforderlich: Nein.

Eingeführt: 3.0

Benutzer
Anweisen Supervisor Um Benutzer auf dieses UNIX-Benutzerkonto umzustellen, bevor Sie etwas unternehmen
sinnvolle Verarbeitung. Der Benutzer kann nur gewechselt werden, wenn Supervisor wird als gestartet
Root-Benutzer. Wenn Supervisor Der Benutzer kann nicht gewechselt werden, es wird trotzdem fortgesetzt, aber es wird ein geschrieben
Log-Nachricht am kritischem Ebene, die besagt, dass Privilegien nicht gelöscht werden können.

Standard: Benutzer nicht wechseln

Erforderlich: Nein.

Eingeführt: 3.0

Verzeichnis
Wann Supervisor dämonisiert, wechseln Sie in dieses Verzeichnis. Diese Option kann Folgendes umfassen:
Wert %(hier)s, das auf das Verzeichnis erweitert wird, in dem sich die Supervisor Konfiguration
Datei wurde gefunden.

Standard: nicht cd

Erforderlich: Nein.

Eingeführt: 3.0

strip_ansi
Entfernen Sie alle ANSI-Escape-Sequenzen aus untergeordneten Protokolldateien.

Standard: FALSCH

Erforderlich: Nein.

Eingeführt: 3.0

Umwelt
Eine Liste von Schlüssel/Wert-Paaren im Formular KEY="val",KEY2="val2" das wird in der platziert
Supervisor Prozessumgebung (und damit in allen untergeordneten Prozessen)
Umgebungen). Diese Option kann den Wert enthalten %(hier)s, was sich auf die erweitert
Verzeichnis, in dem die Supervisord-Konfigurationsdatei gefunden wurde. Werte enthalten
Nicht alphanumerische Zeichen sollten in Anführungszeichen gesetzt werden (z KEY="val:123",KEY2="val,456").
Ansonsten ist die Angabe der Werte optional, wird aber empfohlen. Prozent entkommen
Zeichen, verwenden Sie einfach zwei. (z.B URI="/first%%20name") Note dass Unterprozesse dies tun werden
erbt die Umgebungsvariablen der Shell, die zum Starten verwendet wurde Supervisor mit Ausnahme der
diejenigen, die hier und innerhalb des Programms überschrieben werden Umwelt Möglichkeit. Sehen
subprocess_environment.

Standard: keine Werte

Erforderlich: Nein.

Eingeführt: 3.0

Kennzeichnung
Die Kennungszeichenfolge für diesen Supervisor-Prozess, die von der RPC-Schnittstelle verwendet wird.

Standard: Aufsicht

Erforderlich: Nein.

Eingeführt: 3.0

[Betreuer] Abschnitt Beispiel
[Betreuer]
logfile = /tmp/supervisord.log
logfile_maxbytes = 50 MB
logfile_backups=10
loglevel = info
pidfile = /tmp/supervisord.pid
Nodaemon = false
minfds = 1024
Minprocs = 200
umask = 022
Benutzer = Chrism
Identifikator = Vorgesetzter
Verzeichnis = / Tmp
nocleanup = wahr
childlogdir = / Tmp
strip_ansi = false
Umgebung = KEY1="value1",KEY2="value2"

[Supervisorctl] Abschnitt Einstellungen
Die Konfigurationsdatei kann Einstellungen für enthalten Supervisorctl interaktive Shell
Programm. Diese Optionen sind unten aufgeführt.

[Supervisorctl] Abschnitt Werte
Server-URL
Die URL, die für den Zugriff auf den Supervisord-Server verwendet werden soll, z. B
http://localhost: 9001. Für UNIX-Domänensockets verwenden Sie
unix:///absolute/path/to/file.sock.

Standard: http://localhost: 9001

Erforderlich: Nein.

Eingeführt: 3.0

Benutzername
Der Benutzername, der zur Verwendung bei der Authentifizierung an den Supervisord-Server übergeben wird. Das sollte
gleich sein wie Benutzername aus der Supervisor-Serverkonfiguration für den Port oder UNIX
Domänen-Socket, auf den Sie zugreifen möchten.

Standard: Kein Benutzername

Erforderlich: Nein.

Eingeführt: 3.0

Passwort
Das Passwort, das zur Verwendung bei der Authentifizierung an den Supervisord-Server übergeben wird. Das sollte
sei die Klartextversion von Passwort aus der Supervisord-Serverkonfiguration für die
Port oder UNIX-Domänen-Socket, auf den Sie zugreifen möchten. Dieser Wert kann nicht als übergeben werden
ein SHA-Hash. Im Gegensatz zu anderen in dieser Datei angegebenen Passwörtern muss es in angegeben werden
Klartext.

Standard: Kein Passwort

Erforderlich: Nein.

Eingeführt: 3.0

Eingabeaufforderung
Zeichenfolge, die als Supervisorctl-Eingabeaufforderung verwendet wird.

Standard: Supervisor

Erforderlich: Nein.

Eingeführt: 3.0

History_file
Ein Pfad zur Verwendung als readline persistente Verlaufsdatei. Wenn Sie diese Funktion aktivieren, indem Sie
Wenn Sie einen Pfad auswählen, bleiben Ihre Supervisorctl-Befehle in der Datei erhalten und Sie können sie verwenden
readline (z. B. Pfeil nach oben), um Befehle aufzurufen, die Sie in Ihrem letzten Supervisorctl ausgeführt haben
Session.

Standard: Keine Datei

Erforderlich: Nein.

Eingeführt: 3.0a5

[Supervisorctl] Abschnitt Beispiel
[Supervisorctl]
serverurl = unix:///tmp/supervisor.sock
Benutzername = Chris
Passwort = 123
prompt = meinVorgesetzter

[Programm:x] Abschnitt Einstellungen
Die Konfigurationsdatei muss eine oder mehrere enthalten Programm Abschnitte in der richtigen Reihenfolge für den Vorgesetzten
um zu wissen, welche Programme es starten und steuern soll. Der Header-Wert ist ein zusammengesetzter Wert.
Es handelt sich um das Wort „Programm“, direkt gefolgt von einem Doppelpunkt und dem Programmnamen. Ein Header
Wert von [Programm:foo] beschreibt ein Programm mit dem Namen „foo“. Der Name wird verwendet
innerhalb von Client-Anwendungen, die die dadurch entstehenden Prozesse steuern
Aufbau. Es ist ein Fehler, einen zu erstellen Programm Abschnitt, der keinen Namen hat. Der
Der Name darf weder einen Doppelpunkt noch eine Klammer enthalten. Der Wert des Namens ist
als Wert für verwendet %(Programmname)s String-Ausdruckserweiterung innerhalb anderer Werte
wo angegeben.

Anmerkungen:
A [Programm:x] Der Abschnitt stellt für den Vorgesetzten tatsächlich eine „homogene Prozessgruppe“ dar
(ab 3.0). Die Mitglieder der Gruppe werden durch die Kombination der definiert Numprocs
und Vorgangsname Parameter in der Konfiguration. Wenn numprocs und
Prozessname bleibt gegenüber den Standardwerten unverändert, die Gruppe, die durch dargestellt wird
[Programm:x] wird benannt x und wird einen einzelnen Prozess mit dem Namen haben x drin. Diese
bietet ein Mindestmaß an Abwärtskompatibilität mit älteren Supervisor-Versionen, was auch der Fall war
Behandeln Sie Programmabschnitte nicht als homogene Prozessgruppendefinitionen.

Aber zum Beispiel, wenn Sie eine haben [Programm:foo] Abschnitt mit a Numprocs von 3 und a
Vorgangsname Ausdruck von %(Programmname)s_%(Prozessnummer)02d, die „foo“-Gruppe wird es tun
enthalten drei Prozesse mit dem Namen foo_00, foo_01 und foo_02. Dies macht es möglich
Starten Sie eine Reihe sehr ähnlicher Prozesse mit einem einzigen [Programm:x] Abschnitt. Alle
Protokolldateinamen, alle Umgebungszeichenfolgen und der Befehl von Programmen können ebenfalls enthalten sein
ähnliche Python-String-Ausdrücke, um jeweils leicht unterschiedliche Parameter zu übergeben
verarbeiten.

[Programm:x] Abschnitt Werte
Befehl
Der Befehl, der ausgeführt wird, wenn dieses Programm gestartet wird. Der Befehl kann entweder sein
absolut (z.B /Pfad/zu/Programmname) oder relativ (z. B Programmname). Wenn es so ist
relativ, die Umgebung des Vorgesetzten $ PATH wird nach der ausführbaren Datei durchsucht.
Programme können Argumente akzeptieren, z /pfad/zu/programm foo Bar. Die Befehlszeile kann verwendet werden
doppelte Anführungszeichen, um Argumente mit Leerzeichen zu gruppieren und sie an das Programm zu übergeben, z. B
/Pfad/zum/Programm/Name -p „foo Bar". Beachten Sie, dass der Wert von Befehl kann Python enthalten
Zeichenfolgenausdrücke, z /Pfad/zu/Programmname --port=80%(process_num)02d könnte sich erweitern
zu /Pfad/zu/Programmname --port=8000 zur Laufzeit. String-Ausdrücke werden ausgewertet
gegen ein Wörterbuch, das die Schlüssel enthält Gruppenname, host_node_name, Prozessnummer,
Programmname, hier (das Verzeichnis der Supervisord-Konfigurationsdatei) und alle
Umgebungsvariablen des Supervisors mit dem Präfix ENV_. Kontrollierte Programme sollten
selbst keine Dämonen, da Supervisord davon ausgeht, dass es für die Dämonisierung seiner Daten verantwortlich ist
Unterprozesse (siehe nondaemonizing_of_subprocesses).

Standard: Kein Standard.

Erforderlich: Ja.

Eingeführt: 3.0

Vorgangsname
Ein Python-String-Ausdruck, der zum Zusammenstellen des Supervisor-Prozessnamens dafür verwendet wird
Verfahren. Normalerweise müssen Sie sich über die Einstellung dieser Einstellung keine Gedanken machen, es sei denn, Sie ändern sie
Numprocs. Der Zeichenfolgenausdruck wird anhand eines Wörterbuchs ausgewertet, das Folgendes enthält
Gruppenname, host_node_name, Prozessnummer, Programmname und hier (das Verzeichnis der
Supervisord-Konfigurationsdatei).

Standard: %(Programmname)s

Erforderlich: Nein.

Eingeführt: 3.0

Numprocs
Der Supervisor startet so viele Instanzen dieses Programms, wie von numprocs benannt werden. Notiz
dass, wenn numprocs > 1, die Vorgangsname Der Ausdruck muss enthalten %(process_num)s (oder irgendein
anderer gültiger Python-String-Ausdruck, der Folgendes enthält: Prozessnummer) darin.

Standard: 1

Erforderlich: Nein.

Eingeführt: 3.0

numprocs_start
Ein ganzzahliger Offset, der zur Berechnung der Zahl verwendet wird, bei der Numprocs beginnt

Standard: 0

Erforderlich: Nein.

Eingeführt: 3.0

Prioritätsliste
Die relative Priorität des Programms in der Reihenfolge beim Starten und Herunterfahren. Untere
Prioritäten geben Programme an, die beim Start und wann zuerst gestartet und zuletzt heruntergefahren werden
Aggregate-Befehle werden in verschiedenen Clients verwendet (z. B. „Alle starten“/„Alle stoppen“). Höher
Prioritäten geben Programme an, die zuletzt gestartet und zuerst beendet werden.

Standard: 999

Erforderlich: Nein.

Eingeführt: 3.0

Auto-Start
Wenn „true“, wird dieses Programm automatisch gestartet, wenn Supervisord gestartet wird.

Standard: wahr

Erforderlich: Nein.

Eingeführt: 3.0

Startsekunden
Die Gesamtzahl der Sekunden, die das Programm nach einem Start benötigt, um weiter ausgeführt zu werden
Betrachten Sie den Start als erfolgreich (Verschieben des Prozesses von BEGINNEND Staat zu den
LAUFEN Zustand). Einstellen 0 um anzuzeigen, dass das Programm nicht länger ausgeführt werden muss
bestimmte Zeitspanne.

Anmerkungen:
Auch wenn ein Prozess mit einem „erwarteten“ Exit-Code beendet wird (siehe Exitcodes), der Anfang
wird immer noch als Fehler gewertet, wenn der Prozess schneller beendet wird als Startsekunden.

Standard: 1

Erforderlich: Nein.

Eingeführt: 3.0

Startversuche
Die Anzahl der Serienfehlerversuche Supervisor wird es zulassen, wenn man es versucht
Starten Sie das Programm, bevor Sie aufgeben und den Prozess in Angriff nehmen FATAL Zustand. Sehen
process_states zur Erläuterung der FATAL Zustand.

Standard: 3

Erforderlich: Nein.

Eingeführt: 3.0

automatischer Neustart
Gibt an, ob Supervisor sollte einen Prozess automatisch neu starten, wenn er beendet wird, wenn er beendet wird
der LAUFEN Zustand. Könnte einer davon sein falsch, unerwartet, oder was immer dies auch sein sollte.. Wenn falsch, der Prozess
wird nicht automatisch neu gestartet. Wenn unerwartet, der Prozess wird neu gestartet, wenn die
Das Programm wird mit einem Exit-Code beendet, der nicht einer der damit verbundenen Exit-Codes ist
Prozesskonfiguration (siehe Exitcodes). Wenn was immer dies auch sein sollte., der Prozess wird bedingungslos sein
wird beim Beenden neu gestartet, ohne Rücksicht auf den Exit-Code.

Anmerkungen:
automatischer Neustart steuert, ob Supervisor startet ein Programm automatisch neu, wenn es beendet wird
nach erfolgreichem Start (der Prozess befindet sich im LAUFEN Zustand).

Supervisor verfügt über einen anderen Neustartmechanismus für den Prozessstart
(Der Prozess ist in der BEGINNEND Zustand). Wiederholungsversuche während des Prozessstarts sind möglich
kontrolliert von Startsekunden und Startversuche.

Standard: unerwartet

Erforderlich: Nein.

Eingeführt: 3.0

Exitcodes
Die Liste der „erwarteten“ Exit-Codes für dieses Programm, das mit verwendet wird automatischer Neustart. Wenn der
automatischer Neustart Parameter ist auf gesetzt unerwartet, und der Prozess wird auf andere Weise beendet als
infolge einer Stoppanforderung des Vorgesetzten, Supervisor wird den Prozess neu starten, wenn dies der Fall ist
wird mit einem Exit-Code beendet, der in dieser Liste nicht definiert ist.

Standard: 0,2

Erforderlich: Nein.

Eingeführt: 3.0

Stoppsignal
Das Signal, das zum Beenden des Programms verwendet wird, wenn ein Stopp angefordert wird. Dies kann ein beliebiger Begriff sein: TERM,
HUP, INT, QUIT, KILL, USR1 oder USR2.

Standard: BEGRIFF

Erforderlich: Nein.

Eingeführt: 3.0

stopwaitsecs
Die Anzahl der Sekunden, die darauf gewartet wird, dass das Betriebssystem ein SIGCHILD zurückgibt Supervisor nach dem
Dem Programm wurde ein Stoppsignal gesendet. Wenn diese Anzahl an Sekunden vorher verstrichen ist
Supervisor erhält ein SIGCHILD aus dem Prozess, Supervisor werde versuchen, es zu töten
mit einem letzten SIGKILL.

Standard: 10

Erforderlich: Nein.

Eingeführt: 3.0

stopasgroup
Wenn „true“, veranlasst das Flag den Supervisor, das Stoppsignal an die gesamte Prozessgruppe zu senden
und impliziert killasgroup ist wahr. Dies ist nützlich für Programme wie Flask im Debug
Modus, der keine Stoppsignale an ihre Kinder weitergibt und sie somit verwaist zurücklässt.

Standard: FALSCH

Erforderlich: Nein.

Eingeführt: 3.0b1

killasgroup
Wenn „true“, wenn Sie SIGKILL an das Programm senden, um es zu beenden, senden Sie es an sein Programm
stattdessen die gesamte Prozessgruppe, die sich auch um ihre untergeordneten Elemente kümmert, nützlich z. B. mit
Python-Programme verwenden Mehrfachverarbeitung.

Standard: FALSCH

Erforderlich: Nein.

Eingeführt: 3.0a11

Benutzer
Anweisen Supervisor um dieses UNIX-Benutzerkonto als das Konto zu verwenden, das das ausführt
Programm. Der Benutzer kann nur gewechselt werden, wenn Supervisor wird als Root-Benutzer ausgeführt. Wenn
Supervisor Kann nicht zum angegebenen Benutzer wechseln, wird das Programm nicht gestartet.

Anmerkungen:
Der Benutzer wird mit geändert setuid nur. Dadurch wird keine Login-Shell gestartet und
ändert keine Umgebungsvariablen wie USER or HOME. Sehen
Weitere Informationen finden Sie in subprocess_environment.

Standard: Benutzer nicht wechseln

Erforderlich: Nein.

Eingeführt: 3.0

Redirect_stderr
Wenn „true“, bewirkt, dass die stderr-Ausgabe des Prozesses an zurückgesendet wird Supervisor auf seinem stdout
Dateideskriptor (in UNIX-Shell-Begriffen entspricht dies dem Ausführen /das Programm
2> & 1).

Anmerkungen:
Nicht festlegen weitergeleitet_stderr=true in eine [eventlistener:x] Abschnitt. Eventlistener
- stdout und Standard kommunizieren mit Supervisor. Wenn stderr wird umgeleitet,
Ausgabe von stderr stört das Eventlistener-Protokoll.

Standard: FALSCH

Erforderlich: Nein.

Eingeführt: 3.0, ersetzt 2.0 log_stdout und log_stderr

stdout_logfile
Fügen Sie die stdout-Ausgabe des Prozesses in diese Datei ein (und wenn „redirect_stderr“ wahr ist, platzieren Sie auch
stderr-Ausgabe in dieser Datei). Wenn stdout_logfile ist nicht gesetzt oder auf eingestellt AUTO, Aufsicht
wählt automatisch einen Dateispeicherort aus. Wenn dies eingestellt ist NONE, Vorgesetzter wird
Keine Protokolldatei erstellen. AUTO Protokolldateien und deren Backups werden gelöscht, wenn Supervisor
startet neu. Der stdout_logfile value kann Python-String-Ausdrücke enthalten, die dies tun
anhand eines Wörterbuchs ausgewertet, das die Schlüssel enthält Gruppenname, host_node_name,
Prozessnummer, Programmname und hier (das Verzeichnis der Supervisord-Konfigurationsdatei).

Anmerkungen:
Es ist nicht möglich, dass zwei Prozesse eine einzige Protokolldatei gemeinsam nutzen (stdout_logfile)
wenn Drehung (stdout_logfile_maxbytes) aktiviert. Dadurch entsteht die Datei
korrupt sein.

Standard: AUTO

Erforderlich: Nein.

Eingeführt: 3.0, ersetzt 2.0 Logdatei

stdout_logfile_maxbytes
Die maximale Anzahl an Bytes, die von verbraucht werden dürfen stdout_logfile bevor es gedreht wird
(Suffix-Multiplikatoren wie „KB“, „MB“ und „GB“ können im Wert verwendet werden). Stellen Sie dies ein
Wert auf 0, um eine unbegrenzte Protokollgröße anzugeben.

Standard: 50MB

Erforderlich: Nein.

Eingeführt: 3.0, ersetzt 2.0 logfile_maxbytes

stdout_logfile_backups
Die Anzahl der stdout_logfile Sicherungen, die aus dem Standardprotokoll des Prozesses resultieren
Dateirotation. Bei der Einstellung 0 werden keine Backups gespeichert.

Standard: 10

Erforderlich: Nein.

Eingeführt: 3.0, ersetzt 2.0 logfile_backups

stdout_capture_maxbytes
Maximale Anzahl an Bytes, die in den Erfassungs-FIFO geschrieben werden, wenn sich der Prozess im „Standardausgabe-Erfassungsmodus“ befindet.
(siehe Capture_mode). Sollte eine Ganzzahl sein (Suffix-Multiplikatoren wie „KB“, „MB“ und „GB“)
kann im Wert verwendet werden). Wenn dieser Wert 0 ist, ist der Prozesserfassungsmodus deaktiviert.

Standard: 0

Erforderlich: Nein.

Eingeführt: 3.0, ersetzt 2.0 logfile_backups

stdout_events_enabled
Wenn „true“, werden PROCESS_LOG_STDOUT-Ereignisse ausgegeben, wenn der Prozess darauf schreibt
stdout-Dateideskriptor. Die Ereignisse werden nur ausgegeben, wenn der Dateideskriptor nicht vorhanden ist
zum Zeitpunkt des Datenempfangs im Capture-Modus (siehe Capture_mode).

Standard: 0

Erforderlich: Nein.

Eingeführt: 3.0a7

stderr_logfile
Fügen Sie die stderr-Ausgabe des Prozesses in diese Datei ein, sofern nicht Redirect_stderr ist wahr. Akzeptiert die
Gleiche Werttypen wie stdout_logfile und können dieselben Python-String-Ausdrücke enthalten.

Anmerkungen:
Es ist nicht möglich, dass zwei Prozesse eine einzige Protokolldatei gemeinsam nutzen (stderr_logfile)
wenn Drehung (stderr_logfile_maxbytes) aktiviert. Dadurch entsteht die Datei
korrupt sein.

Standard: AUTO

Erforderlich: Nein.

Eingeführt: 3.0

stderr_logfile_maxbytes
Die maximale Anzahl von Bytes vor der Protokolldateirotation für stderr_logfile. Akzeptiert die
Gleiche Werttypen wie stdout_logfile_maxbytes.

Standard: 50MB

Erforderlich: Nein.

Eingeführt: 3.0

stderr_logfile_backups
Die Anzahl der Backups, die aufgrund der Rotation der stderr-Protokolldatei des Prozesses aufbewahrt werden müssen.
Bei der Einstellung 0 werden keine Backups gespeichert.

Standard: 10

Erforderlich: Nein.

Eingeführt: 3.0

stderr_capture_maxbytes
Maximale Anzahl an Bytes, die in den Capture-FIFO geschrieben werden, wenn sich der Prozess im „stderr-Capture-Modus“ befindet.
(siehe Capture_mode). Sollte eine Ganzzahl sein (Suffix-Multiplikatoren wie „KB“, „MB“ und „GB“)
kann im Wert verwendet werden). Wenn dieser Wert 0 ist, ist der Prozesserfassungsmodus deaktiviert.

Standard: 0

Erforderlich: Nein.

Eingeführt: 3.0

stderr_events_enabled
Wenn „true“, werden PROCESS_LOG_STDERR-Ereignisse ausgegeben, wenn der Prozess darauf schreibt
stderr-Dateideskriptor. Die Ereignisse werden nur ausgegeben, wenn der Dateideskriptor nicht vorhanden ist
zum Zeitpunkt des Datenempfangs im Capture-Modus (siehe Capture_mode).

Standard: FALSCH

Erforderlich: Nein.

Eingeführt: 3.0a7

Umwelt
Eine Liste von Schlüssel/Wert-Paaren im Formular KEY="val",KEY2="val2" das wird in der platziert
Umgebung des untergeordneten Prozesses. Die Umgebungszeichenfolge kann eine Python-Zeichenfolge enthalten
Ausdrücke, die anhand eines Wörterbuchs ausgewertet werden Gruppenname,
host_node_name, Prozessnummer, Programmname und hier (das Verzeichnis des Betreuers
Konfigurationsdatei). Werte, die nicht alphanumerische Zeichen enthalten, sollten in Anführungszeichen gesetzt werden (z
KEY="val:123",KEY2="val,456"). Ansonsten ist die Angabe der Werte optional, aber
empfohlen. Note dass der Unterprozess die Umgebungsvariablen des erbt
Shell, die zum Starten von „supervisord“ verwendet wurde, mit Ausnahme der hier überschriebenen. Sehen
subprocess_environment.

Standard: Keine zusätzliche Umgebung

Erforderlich: Nein.

Eingeführt: 3.0

Verzeichnis
Ein Dateipfad, der ein Verzeichnis darstellt, zu dem Supervisor sollte vorübergehend chdir
bevor man das Kind ausführt.

Standard: Kein chdir (Vorgesetzten übernehmen)

Erforderlich: Nein.

Eingeführt: 3.0

umask
Eine Oktalzahl (z. B. 002, 022), die die Umask des Prozesses darstellt.

Standard: Keine spezielle umask (Vorgesetzten übernehmen)

Erforderlich: Nein.

Eingeführt: 3.0

Server-URL
Die URL, die in der Umgebung an den Unterprozessprozess übergeben wurde als SUPERVISOR_SERVER_URL
(sehen supervisor.childutils), damit der Unterprozess problemlos mit dem kommunizieren kann
interner HTTP-Server. Falls angegeben, sollte es dieselbe Syntax und Struktur wie das haben
[Supervisorctl] Abschnittsoption mit demselben Namen. Wenn dies auf AUTO eingestellt ist oder nicht konfiguriert ist,
Der Supervisor erstellt automatisch eine Server-URL und gibt einem Server den Vorzug
das auf UNIX-Domänen-Sockets lauscht, statt auf einem, das auf einem Internet-Socket lauscht.

Standard: AUTO

Erforderlich: Nein.

Eingeführt: 3.0

[Programm:x] Abschnitt Beispiel
[Programm:Katze]
Befehl =/bin/kat
Prozessname=%(Programmname)s
numprocs=1
Verzeichnis=/ Tmp
umaske=022
Priorität = 999
Autostart = true
automatischer Neustart=unerwartet
Startsekunden=10
startretries=3
Exitcodes=0,2
stopsignal=TERM
stopwaitsecs=10
stopasgroup=false
killasgroup=false
user=chrism
weitergeleitet_stderr=false
stdout_logfile=/a/path
stdout_logfile_maxbytes=1 MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1 MB
stdout_events_enabled=false
stderr_logfile=/a/path
stderr_logfile_maxbytes=1 MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1 MB
stderr_events_enabled=false
Umgebung=A="1",B="2"
serverurl=AUTO

[enthalten] Abschnitt Einstellungen
Das supervisord.conf Die Datei kann einen Abschnitt mit dem Namen enthalten [enthalten]. Wenn die Konfiguration
Datei enthält eine [enthalten] Abschnitt muss er einen einzelnen Schlüssel mit dem Namen „files“ enthalten. Der
Werte in diesem Schlüssel geben andere Konfigurationsdateien an, die in den eingeschlossen werden sollen
Konfiguration.

[enthalten] Abschnitt Werte
Dateien
Eine durch Leerzeichen getrennte Folge von Datei-Globs. Jeder Datei-Glob kann absolut oder relativ sein.
Wenn der Datei-Glob relativ ist, wird er als relativ zum Speicherort betrachtet
Konfigurationsdatei, die es enthält. Ein „Glob“ ist ein Dateimuster, das mit a übereinstimmt
angegebenen Muster gemäß den von der Unix-Shell verwendeten Regeln. Es gibt keine Tilde-Erweiterung
erledigt, aber *, ?, und Zeichenbereiche ausgedrückt mit [] werden korrekt zugeordnet.
Rekursive Einbindungen aus eingebundenen Dateien werden nicht unterstützt.

Standard: Kein Standard (erforderlich)

Erforderlich: Ja.

Eingeführt: 3.0

[enthalten] Abschnitt Beispiel
[enthalten]
files = /an/absolute/filename.conf /an/absolute/*.conf foo.conf config??.conf

[Gruppe:x] Abschnitt Einstellungen
Oft ist es sinnvoll, „homogene“ Prozessgruppen (auch „Programme“ genannt) zu einer Gruppe zusammenzufassen
„heterogene“ Prozessgruppe, sodass sie als Einheit vom Vorgesetzten gesteuert werden können
verschiedene Controller-Schnittstellen.

Um Programme in einer Gruppe zu platzieren, sodass Sie sie als Einheit behandeln können, definieren Sie a [Gruppe:x] Abschnitt
in Ihrer Konfigurationsdatei. Der Gruppenkopfwert ist ein zusammengesetzter Wert. Es ist das Wort
„Gruppe“, direkt gefolgt von einem Doppelpunkt und dann dem Gruppennamen. Ein Headerwert von [Gruppe:foo]
beschreibt eine Gruppe mit dem Namen „foo“. Der Name wird innerhalb von Clientanwendungen verwendet
die die Prozesse steuern, die als Ergebnis dieser Konfiguration erstellt werden. Es ist ein
Fehler beim Erstellen eines Gruppe Abschnitt, der keinen Namen hat. Der Name darf kein enthalten
Doppelpunkt oder Klammerzeichen.

Für einen [Gruppe:x], es muss einen oder mehrere geben [Programm:x] Abschnitte an anderer Stelle in Ihrem
Konfigurationsdatei, und die Gruppe muss in der namentlich auf sie verweisen Programme Wert.

Werden „homogene“ Prozessgruppen (repräsentiert durch Programmabschnitte) in a
„heterogene“ Gruppe über [Gruppe:x] Abschnitte Programme Linie, die homogenen Gruppen, die
werden impliziert, dass der Programmabschnitt zur Laufzeit im Supervisor nicht vorhanden ist. Stattdessen alle
Prozesse, die zu jeder der homogenen Gruppen gehören, werden in die eingeordnet
heterogene Gruppe. Beispiel: Bei folgender Gruppenkonfiguration:

[Gruppe:foo]
Programme=bar,baz
Priorität = 999

Angesichts des oben Gesagten wird beim Start des Supervisors die Bar und baz Homogene Gruppen werden dies nicht tun
existieren, und die Prozesse, die unter ihnen gestanden hätten, werden nun in die verschoben foo
Gruppe.

[Gruppe:x] Abschnitt Werte
Programme
Eine durch Kommas getrennte Liste von Programmnamen. Die aufgeführten Programme werden Mitglieder
aus der Gruppe.

Standard: Kein Standard (erforderlich)

Erforderlich: Ja.

Eingeführt: 3.0

Prioritätsliste
Eine Prioritätsnummer analog zu a [Programm:x] Der der Gruppe zugewiesene Prioritätswert.

Standard: 999

Erforderlich: Nein.

Eingeführt: 3.0

[Gruppe:x] Abschnitt Beispiel
[Gruppe:foo]
Programme=bar,baz
Priorität = 999

[fcgi-programm:x] Abschnitt Einstellungen
Der Vorgesetzte kann Gruppen verwalten SchnellCGI Prozesse, die alle am selben Socket lauschen.
Bisher war die Flexibilität bei der Bereitstellung von FastCGI begrenzt. Um den vollständigen Prozess zu erhalten
Management, Sie könnten mod_fastcgi unter Apache verwenden, aber dann blieben Sie bei Apache hängen
ineffizientes Parallelitätsmodell eines Prozesses oder Threads pro Verbindung. Zusätzlich zu
Das Prozess-/Thread-pro-Verbindungsmodell kann mehr CPU- und Speicherressourcen erfordern
wird durch eine langsame Ressource schnell gesättigt, wodurch verhindert wird, dass andere Ressourcen bedient werden. In
um die Vorteile neuerer ereignisgesteuerter Webserver wie lighttpd oder nginx zu nutzen
Wenn Sie keinen integrierten Prozessmanager einbinden, müssen Sie Skripte wie cgi-fcgi oder verwenden
spawn-fcgi. Diese können in Verbindung mit einem Prozessmanager wie Supervisord verwendet werden
oder daemontools, erfordern jedoch, dass jeder untergeordnete FastCGI-Prozess an seinen eigenen Socket gebunden wird. Der
Nachteile davon sind: unnötig komplizierte Webserver-Konfiguration, unangebracht
Neustarts und verringerte Fehlertoleranz. Mit weniger zu konfigurierenden Sockets, Webserver
Konfigurationen sind viel kleiner, wenn Gruppen von FastCGI-Prozessen Sockets gemeinsam nutzen können. Geteilt
Sockets ermöglichen ordnungsgemäße Neustarts, da der Socket weiterhin an den übergeordneten Prozess gebunden ist
während einer der untergeordneten Prozesse neu gestartet wird. Schließlich gibt es noch mehr Shared Sockets
Fehlertolerant, denn wenn ein bestimmter Prozess ausfällt, können andere Prozesse weiterhin ausgeführt werden
eingehende Verbindungen.

Mit der integrierten FastCGI-Spawning-Unterstützung bietet Ihnen Supervisor das Beste aus beiden Welten.
Sie erhalten eine umfassende Prozessverwaltung mit Gruppen von FastCGI-Prozessen, die sich Sockets teilen
ohne an einen bestimmten Webserver gebunden zu sein. Es ist eine saubere Trennung der Belange,
Dadurch können der Webserver und der Prozessmanager jeweils das tun, was sie am besten können.

Anmerkungen:
Der Socket-Manager in Supervisor wurde ursprünglich zur Unterstützung von FastCGI-Prozessen entwickelt
aber es ist nicht auf FastCGI beschränkt. Es können auch andere Protokolle ohne besondere Besonderheiten verwendet werden
Aufbau. Jedes Programm, das über einen Dateideskriptor (z. B. .) auf einen offenen Socket zugreifen kann
mit socket.fromfd in Python) können den Socket-Manager verwenden. Der Vorgesetzte wird
Erstellen Sie automatisch den Socket, binden Sie ihn und hören Sie ihn ab, bevor Sie das erste untergeordnete Element in a forken
Gruppe. Der Socket wird an jedes untergeordnete Element mit der Dateideskriptornummer weitergegeben 0 (Null).
Wenn das letzte Kind die Gruppe verlässt, schließt der Supervisor die Steckdose.

Alle verfügbaren Optionen [Programm:x] Abschnitte werden ebenfalls respektiert fcgi-Programm
.

[fcgi-programm:x] Abschnitt Werte
[fcgi-programm:x] Abschnitte haben einen einzigen Schlüssel, der [Programm:x] Abschnitte nicht haben.

Buchse
Der FastCGI-Socket für dieses Programm, entweder TCP- oder UNIX-Domänen-Socket. Für TCP-Sockets:
Verwenden Sie dieses Format: tcp://localhost:9002. Für UNIX-Domänensockets verwenden Sie
unix:///absolute/path/to/file.sock. Zeichenfolgenausdrücke werden anhand von a ausgewertet
Wörterbuch mit den Schlüsseln „Programmname“ und „Here“ (das Verzeichnis der
Supervisord-Konfigurationsdatei).

Standard: Kein Standard.

Erforderlich: Ja.

Eingeführt: 3.0

socket_owner
Für UNIX-Domänen-Sockets kann dieser Parameter verwendet werden, um den Benutzer und die Gruppe anzugeben
den FastCGI-Sockel. Kann ein UNIX-Benutzername (z. B. chrism) oder ein UNIX-Benutzername und eine UNIX-Gruppe sein
durch einen Doppelpunkt getrennt (z. B. chrism:wheel).

Standard: Verwendet den Benutzer- und Gruppensatz für das fcgi-Programm

Erforderlich: Nein.

Eingeführt: 3.0

socket_mode
Für UNIX-Domänen-Sockets kann dieser Parameter verwendet werden, um den Berechtigungsmodus anzugeben.

Standard: 0700

Erforderlich: Nein.

Eingeführt: 3.0

Konsultieren [Programm:x] Abschnitt Einstellungen Für andere zulässige Schlüssel gelten die oben genannten Einschränkungen
und Ergänzungen.

[fcgi-programm:x] Abschnitt Beispiel
[fcgi-programm:fcgiprogrammname]
command=/usr/bin/example.fcgi
socket=unix:///var/run/supervisor/%(program_name)s.sock
socket_owner=chrism
socket_mode=0700
Prozessname=%(Programmname)s_%(Prozessnummer)02d
numprocs=5
Verzeichnis=/ Tmp
umaske=022
Priorität = 999
Autostart = true
automatischer Neustart=unerwartet
Startsekunden=1
startretries=3
Exitcodes=0,2
Stoppsignal=QUIT
stopasgroup=false
killasgroup=false
stopwaitsecs=10
user=chrism
weitergeleitet_stderr=true
stdout_logfile=/a/path
stdout_logfile_maxbytes=1 MB
stdout_logfile_backups=10
stdout_events_enabled=false
stderr_logfile=/a/path
stderr_logfile_maxbytes=1 MB
stderr_logfile_backups=10
stderr_events_enabled=false
Umgebung=A="1",B="2"
serverurl=AUTO

[eventlistener:x] Abschnitt Einstellungen
Supervisor ermöglicht die Bildung spezialisierter homogener Prozessgruppen („Ereignis-Listener-Pools“)
in der Konfigurationsdatei definiert. Diese Pools enthalten Prozesse, die dazu bestimmt sind
Empfangen und Beantworten von Ereignisbenachrichtigungen vom Ereignissystem des Vorgesetzten. Siehe Veranstaltungen für
eine Erklärung, wie Ereignisse funktionieren und wie Programme implementiert werden, die als deklariert werden können
Ereignis-Listener.

Beachten Sie, dass alle Optionen verfügbar sind [Programm:x] Abschnitte werden von Eventlistener respektiert
Abschnitte ausgeschlossen für stdout_capture_maxbytes und stderr_capture_maxbytes (Ereignis-Listener
kann keine Prozesskommunikationsereignisse ausgeben, siehe capture_mode).

[eventlistener:x] Abschnitt Werte
[eventlistener:x] Abschnitte haben ein paar Schlüssel, die [Programm:x] Abschnitte nicht haben.

Puffergröße
Die Puffergröße der Ereigniswarteschlange des Ereignis-Listener-Pools. Wenn der Ereignispuffer eines Listener-Pools
ist übergelaufen (was passieren kann, wenn ein Ereignis-Listener-Pool nicht mit allen Schritten Schritt halten kann).
an ihn gesendete Ereignisse), wird das älteste Ereignis im Puffer verworfen.

Veranstaltungen
Eine durch Kommas getrennte Liste von Ereignistypnamen, an denen dieser Listener „interessiert“ ist
Empfangen von Benachrichtigungen für (siehe event_types für eine Liste gültiger Ereignistypnamen).

result_handler
A pkg_resources Eintrag Punkt Schnur das wird zu einem Python-Callable aufgelöst. Der Standard
Wert ist supervisor.dispatchers:default_handler. Angeben eines alternativen Ergebnisses
Handler ist eine sehr ungewöhnliche Sache, und daher ist es auch so, wie man einen solchen erstellt
nicht dokumentiert.

Konsultieren [Programm:x] Abschnitt Einstellungen Für andere zulässige Schlüssel gelten die oben genannten Einschränkungen
und Ergänzungen.

[eventlistener:x] Abschnitt Beispiel
[eventlistener:theeventlistenername]
command=/bin/eventlistener
Prozessname=%(Programmname)s_%(Prozessnummer)02d
numprocs=5
events=PROCESS_STATE
buffer_size=10
Verzeichnis=/ Tmp
umaske=022
Priorität=-1
Autostart = true
automatischer Neustart=unerwartet
Startsekunden=1
startretries=3
Exitcodes=0,2
Stoppsignal=QUIT
stopwaitsecs=10
stopasgroup=false
killasgroup=false
user=chrism
weitergeleitet_stderr=false
stdout_logfile=/a/path
stdout_logfile_maxbytes=1 MB
stdout_logfile_backups=10
stdout_events_enabled=false
stderr_logfile=/a/path
stderr_logfile_maxbytes=1 MB
stderr_logfile_backups=10
stderr_events_enabled=false
Umgebung=A="1",B="2"
serverurl=AUTO

[rpcinterface:x] Abschnitt Einstellungen
Hinzufügen rpcinterface:x Einstellungen in der Konfigurationsdatei sind nur für Personen nützlich, die
Ich möchte den Supervisor um zusätzliches benutzerdefiniertes Verhalten erweitern.

In der Beispielkonfigurationsdatei gibt es einen Abschnitt mit dem Namen [rpcinterface:supervisor].
Standardmäßig sieht es wie folgt aus.

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

Das [rpcinterface:supervisor] Abschnitt sollen bleiben in der Konfiguration für den Standard
Einrichtung des Supervisors, um ordnungsgemäß zu funktionieren. Wenn Sie nicht möchten, dass der Vorgesetzte etwas tut, tun Sie es
Dies ist nicht bereits von Haus aus möglich. Dies ist alles, was Sie über diese Art von wissen müssen
.

Wenn Sie jedoch RPC-Schnittstellen-Namespaces hinzufügen möchten, um Supervisor anzupassen, müssen Sie Folgendes tun
kann weitere hinzufügen [rpcinterface:foo] Abschnitte, wobei „foo“ den Namespace von darstellt
die Schnittstelle (vom Webstamm) und der von benannte Wert supervisor.rpcinterface_factory
ist ein Factory-Callable, der eine Funktionssignatur haben sollte, die eine einzelne akzeptiert
Positionsargument Supervisor und so viele Schlüsselwortargumente, wie für die Ausführung erforderlich sind
Aufbau. Alle zusätzlichen Schlüssel/Wert-Paare, die innerhalb definiert sind [rpcinterface:x] Abschnitt wird
als Schlüsselwortargumente an die Factory übergeben werden.

Hier ist ein Beispiel für eine Factory-Funktion, die in erstellt wurde __init__.py Datei des Python
Paket mein Paket.

aus my.package.rpcinterface AnotherRPCInterface importieren

def make_another_rpcinterface(supervisord, **config):
retries = int(config.get('retries', 0))
another_rpc_interface = AnotherRPCInterface(supervisord, retries)
Gibt eine andere_rpc_interface zurück

Und ein Abschnitt in der Konfigurationsdatei, der dazu gedacht ist, es zu konfigurieren.

[rpcinterface:andere]
supervisor.rpcinterface_factory = my.package:make_another_rpcinterface
Wiederholungen = 1

[rpcinterface:x] Abschnitt Werte
supervisor.rpcinterface_factory
pkg_resources Punktname „Einstiegspunkt“ für die Factory-Funktion Ihrer RPC-Schnittstelle.

Standard: N / A

Erforderlich: Nein.

Eingeführt: 3.0

[rpcinterface:x] Abschnitt Beispiel
[rpcinterface:andere]
supervisor.rpcinterface_factory = my.package:make_another_rpcinterface
Wiederholungen = 1

Glossar
Daemontools
A Prozessdefinierung Smartgeräte App System by DJ Bernstein.

launchd
A Prozessdefinierung Smartgeräte App System benutzt by Apple als Prozess 1 unter Mac OS X.

starte es A Prozessdefinierung Smartgeräte App System.

Superlanze
Ein Paket, das verschiedene Event-Listener-Implementierungen bereitstellt, die angeschlossen werden können
Supervisor, der bei der Überwachung der Prozessspeichernutzung und des Absturzstatus helfen kann:
http://pypi.python.org/pypi/superlance.

umask Abkürzung von Benutzer Maske": Legt die Dateimodus-Erstellungsmaske des aktuellen Prozesses fest.
See http://en.wikipedia.org/wiki/Umask.

Verwenden Sie echo_supervisord_conf online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad