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
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 de supervisord
similairescommand /usr/local/bin/setup_env_master.sh program_name arguments
exec server --args
. Vous le voyez invariablement dans les emplois parvenus.