Parece que no puedo entender cómo agregar a la ruta predeterminada en una configuración de programa de supervisión.
Puedo restablecer el camino:
environment=PATH="/home/site/environments/master/bin"
Pero cuando lo intento:
environment=PATH="/home/site/environments/master/bin:$PATH"
Veo que el supervisor no evalúa $PATH
.
Google no fue de gran ayuda en esto por alguna razón, no puedo creer que sea la primera persona en necesitarlo.
El supervisor debe tener apoyo para esto, ¿alguna idea de qué es?
supervisord
Prody
fuente
fuente
supervisord
no ejecute shell para preprocesar variables en el archivo de configuración, por lo que no puede usar expresiones de shell para expandir variables. Aunque hay un parche que permite hacerlo%($PATH)
, se discutió en las listas de correo en 2011, pero AFAIK todavía no está incluido en el árbol de origen de la línea principal. Como solución alternativa, puede crear un script que configurará el entorno y ejecutará un comando proporcionado en los argumentos. Luego, simplemente ejecuta el script de lasupervisord
misma maneracommand /usr/local/bin/setup_env_master.sh program_name arguments
exec server --args
. Lo ves invariablemente en trabajos nuevos.Respuestas:
Esta característica se ha agregado recientemente al Supervisor
ambiente = RUTA = "/ inicio / sitio / entornos / master / bin:% (ENV_PATH) s"
https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf#L8
Ver también /programming/12900402/supervisor-and-environment-variables
fuente
Revisé la documentación y estoy de acuerdo con Dmitry.
La respuesta actual es: el supervisor no hace este directorio, pero la creación de un script de envoltura ayudará.
fuente