Je n'arrive pas à comprendre comment ajouter au chemin par défaut dans une configuration de programme Supervisord.
Je peux réinitialiser le chemin:
environment=PATH="/home/site/environments/master/bin"
Mais quand j'essaye:
environment=PATH="/home/site/environments/master/bin:$PATH"
Je vois que le superviseur n'évalue pas $PATH
.
Google n'a pas été d'une grande aide à ce sujet pour une raison quelconque, je ne peux pas croire que je suis la première personne à en avoir besoin.
Supervisord doit avoir un soutien pour cela, une idée de ce que c'est?
supervisord
Prody
la source
la source
supervisord
n'exécutez pas le shell pour prétraiter les variables dans le fichier de configuration, vous ne pouvez donc pas utiliser d'expressions shell pour développer les variables. Bien qu'il existe un correctif qui permette de le faire%($PATH)
, il a été discuté dans les listes de diffusion en 2011, mais AFAIK, il n'est toujours pas inclus dans l'arborescence des sources de la ligne principale. Pour contourner ce problème, vous pouvez créer un script qui configurera l'environnement et exécutera une commande fournie en arguments. Ensuite, vous exécutez simplement le script à partir desupervisord
similairescommand /usr/local/bin/setup_env_master.sh program_name arguments
exec server --args
. Vous le voyez invariablement dans les emplois parvenus.Réponses:
Cette fonctionnalité a été ajoutée au superviseur récemment
environnement = CHEMIN = "/ home / site / environnements / master / bin:% (ENV_PATH) s"
https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf#L8
Voir également /programming/12900402/supervisor-and-environment-variables
la source
J'ai examiné la documentation et suis d'accord avec Dmitry.
La réponse actuelle est: le superviseur ne fait pas ce répertoire, mais la création d'un script wrapper aidera.
la source