È possibile impostare per-processo variabili d'ambiente nella configurazione supervisord nella sezione [program:x
], questi saranno passati al processo quando si inizia:
[program:yourprocess]
# ... other settings
environment =
MYSQL_URL=mysql://,
OTHER_VAR="some other value"
Si noti che è necessario utilizzare una virgola tra ogni variabile. Ho usato newline anche nell'esempio sopra, quelli sono opzionali. Se si dispone di spazi nei valori dell'ambiente, è necessario racchiudere il valore tra virgolette.
È anche possibile impostare le variabili di ambiente per tutti i processi nella sezione [supervisord]
, utilizzando lo stesso formato.
Ultimo ma non meno importante, qualsiasi variabile di ambiente impostata all'avvio di supervisord viene passata ai processi gestiti da supervisord. Vedi lo documentation section on environment variables per i dettagli.
Da notare che se si cambia le variabili di ambiente configurate nel file di configurazione, è necessario segnalare al supervisord per ricaricare la configurazione e riavviare i sottoprocessi per loro di raccogliere questi cambiamenti:
supervisorctl update
supervisorctl restart yourprocess
Se tuttavia si modificano le variabili di ambiente al di fuori di supervisord, è necessario spegnere supervisord tutti insieme per prenderli:
supervisorctl shutdown
supervisord
fonte
2012-08-05 10:02:08
sconfigge lo scopo, se anche di memorizzare il file di configurazione supervisore controllo di versione – Dustin
@Dustin è r ight. C'è un modo per aggirare questo? Forse una specie di file include? – surjikal
@surjikal: genera il file di configurazione con uno strumento come buildout. –