2010-05-02 7 views
9

Ich habe Buildout-Rezepte gesehen, die supervisor in das Buildout einbauen, ich nehme an, die Daemons im Inneren zu kontrollieren. Es scheint mir jedoch, dass man immer noch etwas in /etc/init.d (zum Beispiel) benötigt, um die Supervisor-Instanz beim Booten auszuführen.Warum sollte man Supervisor innerhalb eines Buildouts bauen?

Also, warum Supervisor innerhalb des Buildout bauen? Warum nicht systemweit installieren und nur eine Konfigurationsdatei für die beteiligten Dämonen erstellen?

Antwort

9

Wenn wir ein Buildout für einen Kunden erstellen, möchten wir, dass das Buildout auf beliebigen Hostingumgebungen mit minimalen Abhängigkeiten ausgeführt wird, die alle mit Systempaketen erfüllbar sind. Durch die Einbindung von Supervisord in das Buildout System entfällt die systemweite Installation und die Feinabstimmung der Parameter, ohne dass ein Systemadministrator die Einstellungen für uns ändern muss.

Es ist einfach Supervisor zu bekommen beim Booten von einem buildout zu laufen, das usercrontab Rezept:

[supervisor-cron] 
recipe = z3c.recipe.usercrontab 
times = @reboot 
command = ${buildout:bin-directory}/supervisord -c ${buildout:directory}/etc/supervisord.conf 

Der obere Teil einen Eintrag in den crontab hinzufügen wird, die Supervisor verursacht beim Booten ausgeführt werden.

+1

Völlig einverstanden. Ein @reboot-Cronjob, der Supervisor ausführt, bedeutet wartungsfreie Setups. Funktioniert super. –

+0

* Schlägt sich selbst für das Vergessen der Crontab * Es ist kristallklar für mich, warum es gemacht wird, und ich stimme auch voll und ganz zu. Danke. – chiggsy

+0

Das Problem tritt auf, wenn Sie * dies nicht tun wollen * und ein Rezept wünschen, das nur die gültigen Konfigurationsprogramme 9 des Supervisor-Programms ausspuckt. Ich habe noch kein Rezept gefunden. –