Nie mogę wymyślić, jak dołączyć do domyślnej ścieżki w konfiguracji programu nadzoru.
Mogę zresetować ścieżkę:
environment=PATH="/home/site/environments/master/bin"
Ale kiedy próbuję:
environment=PATH="/home/site/environments/master/bin:$PATH"
Widzę, że superwizor nie ocenia $PATH
.
Z jakiegoś powodu Google nie był w tym bardzo pomocny. Nie mogę uwierzyć, że jestem pierwszą osobą, która tego potrzebuje.
Nadzorca musi mieć na to wsparcie, jakiś pomysł, co to jest?
supervisord
Prody
źródło
źródło
supervisord
nie uruchamiaj powłoki w celu wstępnego przetwarzania zmiennych w pliku konfiguracyjnym, więc nie możesz używać wyrażeń powłoki do rozszerzania zmiennych. Chociaż istnieje łatka, która pozwala to zrobić%($PATH)
i była omawiana na listach mailingowych w 2011 roku, ale AFAIK nadal nie jest dołączony do głównego drzewa źródeł. Aby obejść ten problem, możesz utworzyć skrypt, który skonfiguruje środowisko i wykona polecenie podane w argumentach. Następnie wystarczy uruchomić skrypt zsupervisord
podobnegocommand /usr/local/bin/setup_env_master.sh program_name arguments
exec server --args
. Niezmiennie widać to w nowych pracach.Odpowiedzi:
Ta funkcja została ostatnio dodana do Supervisora
environment = PATH = "/ home / site / environment / master / bin:% (ENV_PATH) s"
https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf#L8
Zobacz także /programming/12900402/supervisor-and-environment-variables
źródło
Przejrzałem dokumentację i zgadzam się z Dmitrijem.
Obecna odpowiedź brzmi: przełożony nie robi tego katalogu, ale pomocne będzie utworzenie skryptu opakowania.
źródło