Definindo handlers e padrões de reinicialização
Escreva handlers reutilizáveis para reiniciar serviços.
Definindo handlers e padrões de reinicialização é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Onde ficam os manipuladores
Os manipuladores ficam em sua própria seção handlers de um play, separada das tarefas comuns. Isso mantém as ações reativas claramente agrupadas.
tasks:
- name: Deploy config
ansible.builtin.template:
src: app.conf.j2
dest: /etc/app.conf
notify: Restart app
handlers:
- name: Restart app
ansible.builtin.service:
name: app
state: restartedUm manipulador é uma tarefa
Um manipulador usa exatamente a mesma sintaxe que uma tarefa: um name e uma chamada de módulo. A única diferença é que ele espera ser notificado.
O nome é o contrato
O name do manipulador é a sequência que outras tarefas referenciam em seu notify. Trate-o como um rótulo estável e exato que será reutilizado.
Reinicie com service
Um manipulador clássico de reinício usa o módulo service com o estado definido como restarted. Ele para e inicia a unidade em uma única etapa.
- name: Restart nginx
ansible.builtin.service:
name: nginx
state: restartedRecarregar versus reiniciar
Prefira reloaded quando um serviço oferecer suporte a esse estado. O recarregamento lê a configuração novamente sem interromper as conexões, ao contrário de um reinício completo.
- name: Reload nginx
ansible.builtin.service:
name: nginx
state: reloadedUse systemd diretamente
O módulo systemd oferece um controle mais preciso em hosts systemd, incluindo daemon_reload depois que você altera um arquivo de unidade.
- name: Restart app
ansible.builtin.systemd:
name: app
state: restarted
daemon_reload: trueMantenha os manipuladores genéricos
Escreva um manipulador reutilizável Reiniciar nginx e notifique-o a partir de várias tarefas. Evite copiar a mesma lógica de reinício por toda parte.
Os manipuladores são executados na ordem de definição
Quando vários manipuladores entram na fila, eles são executados na ordem em que são definidos, não na ordem em que foram notificados. Planeje essa sequência.
A ordem é importante para as dependências
Se um recarregamento precisar ocorrer antes de um reinício, defina-os nessa ordem na lista de manipuladores para que a fila seja processada corretamente.
Manipuladores em funções
Em uma função, os manipuladores ficam em handlers/main.yml. As tarefas da função os notificam pelo nome, exatamente como em um playbook comum.
Nomenclatura para dar clareza
Use nomes no formato de ações, como Reiniciar nginx ou Recarregar sshd. Nomes claros tornam a saída legível e deixam evidentes as linhas de notify.
Verificação rápida
Você alterou uma configuração e quer que o serviço em execução a recarregue sem interromper as conexões. Qual estado é melhor?
Recapitulação
Agora você sabe definir manipuladores na seção handlers, escolher entre reiniciar e recarregar e contar com a execução na ordem de definição. 🎯
Perguntas Frequentes
A aula “Definindo handlers e padrões de reinicialização” é grátis?
Sim — o texto completo de “Definindo handlers e padrões de reinicialização” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Definindo handlers e padrões de reinicialização”?
Escreva handlers reutilizáveis para reiniciar serviços. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Definindo handlers e padrões de reinicialização”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Notifique um handler quando houver mudanças
- Definindo handlers e padrões de reinicialização
- Quando os handlers são executados e flush_handlers
- Listen: um acionador, vários handlers