Como definir diferentes sinais de parada / reinicialização com o upstart

8

Estou começando a converter todos os nossos sistemas para o uso inicial para gerenciar nossos vários processos de aplicativos. Uma coisa que sempre sinto falta é a capacidade de enviar um sinal diferente para o processo stopou restarteventos.

Por exemplo, executamos nossos processos da web com o Unicorn . O Unicorn possui uma ótima API de manipulação de sinal. Quando quero recarregar o processo normalmente, envio ao mestre um sinal USR2. Para desligá-los normalmente, envio um comando QUIT. TERM (sinal de parada padrão do iniciante) constitui um desligamento imediato.

Outro exemplo está usando o Resque . Para desligar um trabalhador normalmente, eu envio o sinal QUIT. O sinal TERM novamente causa o desligamento imediato, se o filho do trabalhador é bifurcado ou não.

O iniciante suporta sinais personalizados? Não consigo encontrá-lo em lugar nenhum, o que me preocupa porque estou usando a "ferramenta errada para o trabalho".

localshred
fonte

Respostas:

4

O Ubuntu 10.04 vem com a versão inicial 0.6.6, que possui os parâmetros kill signalekill timeout que configuram valores relevantes de sinal e tempo limite. O sinal "recarregar" está codificado para SIGHUP.

Versões mais recentes de upstartintrodução do reload signalparâmetro - consulte outras respostas a esta pergunta para obter mais detalhes.

o wabbit
fonte
É bom saber, não sei por que o sinal de recarga é codificado, mas acho que terei que conviver com ele por enquanto.
localshred 22/02
De acordo com a resposta do diclophis abaixo, isso agora é possível via reload signal SIGUSR2, mas requer a versão inicial v 1.10.0.
Ghayes
6

A partir da versão inicial v1.10.0, você pode definir um "sinal de recarga".

https://launchpad.net/upstart/1.x/1.10.0

Esta versão está disponível no ubuntu a partir da v13.10 ... Eu usei estas instruções para atualizar minha instância do ec2:

/ubuntu/302762/upgrading-13-04-to-13-10

Uso rails + puma e atualizo graciosamente com essa diretiva no meu arquivo /etc/init/app-1.conf:

reload signal SIGUSR2
diclophis
fonte