Junior
O que são os manipuladores?
sobes.tech IA
Resposta da IA
Os manipuladores (Handlers) no contexto de DevOps, especialmente em ferramentas como o Ansible, são tarefas ou blocos de código que são executados apenas sob certas condições — quando são explicitamente "notificados" por outra tarefa. São usados para reiniciar serviços, reiniciar servidores ou realizar outras ações que devem ocorrer apenas após alterações significativas na configuração.
Características principais:
- Executados por notificação: O manipulador é iniciado apenas após uma ou várias tarefas o "notificarem" explicitamente (por exemplo, usando
notifyno Ansible). - Execução única: Mesmo que várias tarefas notifiquem o mesmo manipulador, ele será executado apenas uma vez ao final do playbook ou seção
include_tasks/import_tasksonde está definido. Isso evita múltiplos reinícios de serviços. - Abordagem declarativa: Permitem definir de forma declarativa quais ações devem ser tomadas ao alterar o estado do sistema, sem se preocupar em executar manualmente essas ações.
Exemplo de notificação de manipulador em uma tarefa do Ansible:
- name: Configurar servidor web # Tarefa que pode alterar a configuração
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: # Notificamos o manipulador
- restart nginx
Definição do manipulador:
handlers:
- name: restart nginx # Nome do manipulador, coincide com o nome em notify
service:
name: nginx
state: restarted