Wie kann ich eine Umgebungsvariable in einem Supervisord-Befehl verwenden? Ich habe versucht:Verwendung von Umgebungsvariablen in Supervisord-Befehlen
flower --broker=$MYVAR
, aber es funktioniert nicht (Variable nicht erweitert wird), so habe ich versucht, einen Inline-Python-Skript:
command=python -c "import os;os.system('flower --broker={0}'.format(os.environ['MYVAR']))"
Den obigen Befehl funktioniert, aber dann habe ich Ich bin nicht in der Lage, den Prozess mit supervisorctl stop
zu beenden ... Ich bekomme "gestoppt" zurück, aber der Prozess läuft tatsächlich noch! Wie kann ich mein Problem lösen? (Ich will nicht, dass die Parameter inline setzen)
Es sei denn, es gibt eine spezielle Unterstützung, die in supervisord eingebaut ist; Du brauchst eine Shell oder einen anderen Prozess, um eine Umgebungsvariable zu erweitern, zB 'command = sh -c 'flower --broker =" $ MYVAR "'' – jfs
mmm ... warum wenn ich "flower --broker = $ MYVAR" starte in der Shell funktioniert es ?! – daveoncode
weil * die Shell * es erweitert – jfs