Ich kann anscheinend nicht herausfinden, wie ich in einer Supervisord-Programmkonfiguration an den Standardpfad anhänge.
Ich kann den Pfad zurücksetzen:
environment=PATH="/home/site/environments/master/bin"
Aber wenn ich versuche:
environment=PATH="/home/site/environments/master/bin:$PATH"
Ich sehe, dass der Vorgesetzte nicht bewertet $PATH
.
Google war aus irgendeinem Grund keine große Hilfe, ich kann nicht glauben, dass ich der erste bin, der das braucht.
Supervisord muss dafür Unterstützung haben, weißt du, was es ist?
supervisord
Führen Sie keine Shell aus, um Variablen in der Konfigurationsdatei vorzuverarbeiten. Sie können also keine Shell-Ausdrücke zum Erweitern von Variablen verwenden. Obwohl es einen Patch gibt, der das erlaubt %($PATH)
und der bereits 2011 in Mailinglisten diskutiert wurde, ist AFAIK immer noch nicht im Hauptquellbaum enthalten. Um dieses Problem zu umgehen, können Sie ein Skript erstellen, mit dem die Umgebung eingerichtet und ein in Argumenten angegebenes Kommando ausgeführt wird. Dann führen Sie einfach das Skript aus dem supervisord
wiecommand /usr/local/bin/setup_env_master.sh program_name arguments
exec server --args
. Sie sehen es ausnahmslos in Upstart-Jobs.