Назад | Перейти на главную страницу

Супервизор молча не запускается / не перезапускается (ничего в журналах)

У меня довольно простая конфигурация супервизора:

[program:drape]
process_name=%(program_name)s_%(process_num)02d
command=python /home/ubuntu/drape/workers/drape.py
numprocs=1
autostart=true
autorestart=true
nocleanup=true
stdout_logfile=/home/ubuntu/supervisord.out.log
stdout_logfile_maxbytes=32MB
stderr_logfile=/home/ubuntu/supervisord.err.log
stderr_logfile_maxbytes=32MB
startsecs=180

Я не думаю, что эта конфигурация на самом деле имеет значение, но все равно публикация. Я использую глобальную конфигурацию Stock supervisor. Установил супервизор через стандартный sudo apt-get -y install supervisor ... и на всякий случай:

$ sudo apt-get -y install supervisor
Reading package lists... Done
Building dependency tree       
Reading state information... Done
supervisor is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 69 not upgraded.

Однако, когда я пытаюсь запустить супервизор, я получаю совершенно тихий сбой:

ubuntu@...:~$ sudo service supervisor start
ubuntu@...:~$

В журналах ничего нет (в моей глобальной конфигурации logfile=/var/log/supervisor/supervisord.log) и в "журналах программы" тоже ничего нет (logfile=/var/log/supervisor/supervisord.log.<stream>.log).

У меня есть аналогичный процесс подготовки для других серверов, на которых работают демоны ruby, поэтому, чтобы копнуть немного дальше, я даже создал очень простой сценарий ruby ​​и сделал chmod 777 дело в том, что нет проблем с разрешением:

$ cat test.rb 
while 1
 puts "hi"
 sleep 1
end
$ ruby test.rb 
hi
hi
hi
...

Мой вопрос скорее ... вопрос "где мне искать". Если супервизор ничего не регистрирует, единственное другое место, куда я могу придумать, - это системный журнал, который не указывает мне на что-то безумное.

Просто совет для тех, кто борется с этим, попробуйте запустить демон напрямую

/usr/bin/supervisord

и ты должен на самом деле увидеть ошибки которые останавливают работу супервизора. Сценарий инициализации супервизора бесполезен для поиска ошибок конфигурации.

Тихий сбой происходит из-за сбоя этой строки:

DAEMON=/usr/bin/supervisord
test -x $DAEMON || exit 0

в сценарии инициализации супервизора. Похоже, что по какой-то причине супервизор был установлен в /usr/local/bin/ на этой машине. Супер раздражает, что ничего не печатается ...