2010-05-02 3 views
9

He visto recetas de compilación que compilan supervisor en la construcción, supongo que para controlar a los daemons dentro. Sin embargo, me parece que todavía necesitaría algo en /etc/init.d (por ejemplo) para ejecutar dicha instancia de supervisor al arrancar.¿Por qué construir una supervisión dentro de una construcción?

Entonces, ¿por qué construir el supervisor dentro del buildout? ¿Por qué no instalarlo en todo el sistema y simplemente crear un archivo de configuración para los daemons involucrados en el interior?

Respuesta

9

Cuando creamos un buildout para un cliente, queremos que ese buildout se ejecute en entornos de alojamiento arbitrarios con dependencias mínimas, todo lo cual se puede satisfacer con paquetes del sistema. Al incluir supervisord en el buildout, eliminamos la necesidad de que se instale en todo el sistema y podemos ajustar sus parámetros finamente, sin tener que pedirle al administrador del sistema que cambie la configuración para nosotros.

Es fácil de conseguir supervisor para ejecutar en el arranque de un buildout, utilizando la receta usercrontab:

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

La parte superior añadirá una entrada en el crontab que causa supervisor para ejecutar en el arranque.

+1

Totalmente de acuerdo. Un cronjob @reboot que ejecuta el supervisor significa configuraciones de cero mantenimiento. Funciona genial. –

+0

* Se defrauda por haber olvidado el crontab * Tengo muy claro para mí por qué está hecho, y también estoy completamente de acuerdo. Gracias. – chiggsy

+0

El problema se presenta cuando * no desea hacer esto * y quiere una receta que simplemente escupe la (s) configuración (es) válida (s) del programa de supervisor. Todavía no he podido encontrar esa receta. –

Cuestiones relacionadas