supervisord: Não inicie um programa antes que outro esteja em execução

5

Estou usando supervisor no Ubuntu com vários programas para supervisionar. É possível configurar o supervisor para que ele não inicie um programa antes que outro programa específico seja iniciado com êxito?

Ou seja. Eu quero correr o Kafka somente após o Zookeeper ter iniciado.

    
por Thomas 02.08.2012 / 15:46

2 respostas

5

Não sei se o supervisor pode garantir isso, mas tento especificar a prioridade do Zookeeper menor que Kafka, algo assim:

[program:Zookeeper]
command=xx
priority=1
autostart = true
autorestart = true

[program:Kafka]
command=yy
priority=999
autostart = true
autorestart = true
    
por 02.08.2012 / 16:51
5

Você não pode fazer isso, tanto quanto eu sei. Veja este problema: link

Um comentarista lá sugere ter todos os seus programas como autostart = false, exceto apenas um, que tem a responsabilidade de colocar todos os outros para cima (usando supervisorctl, ou a API, eu acho) na ordem correta.

    
por 24.04.2014 / 20:45