Wie kann ich eine Datei in der Supervisor-Konfiguration erstellen?

1248
gzc

Ich möchte eine Datei vor dem Ausführen eines Befehls als Quelle verwenden, aber dies funktioniert nicht.

[program:someprogram] command=source /opt/pyenv.someenv/bin/activate && python scripts/some.py directory=/root/p/somedir autostart=true autorestart=true user=root 

Nachdem ich reread, update, statussagt, es

supervisor> reread someprogram: changed supervisor> update someprogram: stopped someprogram: updated process group supervisor> status someprogram FATAL can't find command 'source' 

Und ich habe es versucht

command=. /opt/pyenv.someenv/bin/activate && python scripts/some.py 

Es sagte

someprogram FATAL command at '/usr/local/sbin/.' is a directory 
0

2 Antworten auf die Frage

1
Patrick

Vielleicht versuchen Sie, den Python-Alias ​​der jeweiligen Umgebung aufzurufen. Ich weiß, auf diese Weise verwendet Passenger mindestens die richtige virtuelle Umgebung, wenn Sie Django ausführen.

/opt/pyenv.someenv/bin/python /root/p/somedir/scripts/some.py

Dies ist wirklich ein Kommentar und keine Antwort auf die ursprüngliche Frage. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Sobald Sie über eine ausreichende [Reputation] (https://superuser.com/help/whats-reputation) verfügen, können Sie [Kommentar zu jedem Beitrag] (https: // superuser) machen. de / help / privileges / comment). Bitte lesen Sie [Warum brauche ich 50 Reputation, um einen Kommentar abzugeben? Was kann ich stattdessen tun?] (Https://meta.stackexchange.com/a/214174) DavidPostill vor 7 Jahren 0
0
seb

sourceist ein bash builtin. Sie wollen deshalb eine Bash-Shell. So etwas wie:

[program:someprogram] command=/bin/bash -c "source /opt/pyenv.someenv/bin/activate && python  scripts/some.py"