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
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 z supervisord
podobnegocommand /usr/local/bin/setup_env_master.sh program_name arguments
exec server --args
. Niezmiennie widać to w nowych pracach.