Como criar um arquivo na configuração do supervisor?

0

Eu quero criar um arquivo antes de executar um comando, mas isso não funciona.

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

Depois que eu reread , update , status , diz

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

E eu tentei

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

Ele disse

someprogram              FATAL      command at '/usr/local/sbin/.' is a directory
    
por gzc 28.10.2016 / 07:23

2 respostas

1

Talvez tente chamar o alias python do ambiente específico, eu sei que é assim que o Passenger usa o ambiente virtual correto ao executar o Django pelo menos.

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

    
por 10.01.2017 / 21:31
0

source é um bash embutido. Você vai querer um shell bash. Algo como:

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