listen: 하나의 트리거, 여러 핸들러
하나의 알림을 여러 핸들러로 전달합니다.
listen: 하나의 트리거, 여러 핸들러은(는) CoddyKit의 무료 Ansible Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ansible Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ansible Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
하나의 이벤트, 여러 반응
때로는 하나의 변경으로 여러 핸들러를 한 번에 실행해야 합니다. listen 키워드를 사용하면 여러 핸들러가 하나의 주제를 구독할 수 있습니다.
이름이 아니라 주제에 알림 보내기
listen을 사용하면 작업의 notify가 특정 핸들러 제목 하나가 아니라 논리적인 이벤트 이름을 가리킵니다.
- name: Update certs
ansible.builtin.copy:
src: site.pem
dest: /etc/ssl/site.pem
notify: restart web stack핸들러는 listen으로 구독합니다
각 핸들러에서 같은 주제 이름을 지정하는 listen 줄을 추가합니다. 해당 주제를 듣는 모든 핸들러가 알림을 받으면 실행됩니다.
handlers:
- name: Restart nginx
ansible.builtin.service:
name: nginx
state: restarted
listen: restart web stack여러 핸들러, 하나의 주제
여러 핸들러에 같은 listen 값을 지정하면 한 번의 notify가 모든 핸들러로 전달됩니다. 그룹으로 다시 시작할 때 유용합니다.
- name: Restart php-fpm
ansible.builtin.service:
name: php-fpm
state: restarted
listen: restart web stack작업과 핸들러를 분리하십시오
가장 큰 장점은 결합도 낮추기입니다. 작업은 주제를 참조하고, 알림을 보내는 작업을 수정하지 않은 채 핸들러를 추가하거나 제거할 수 있습니다.
이름은 선택 사항이지만 유용합니다
listen을 사용하는 핸들러에도 이름을 지정할 수 있습니다. 그러면 실행 결과를 읽기 쉽고 다른 작업에서 직접 알림을 보낼 수도 있습니다.
하나의 핸들러가 여러 주제를 들을 수 있습니다
listen에 목록을 지정하면 하나의 핸들러가 여러 주제에 응답합니다. 알림을 받은 이벤트에 따라 동작합니다.
listen:
- restart web stack
- reload tls여전히 멱등적입니다
주제 기반 알림도 같은 규칙을 따릅니다. 핸들러는 changed일 때만 실행되며, 각 핸들러는 플레이마다 최대 한 번만 실행됩니다.
순서는 여전히 정의된 순서입니다
주제가 여러 핸들러를 깨우면 일반 핸들러와 마찬가지로 핸들러 목록에 정의된 순서대로 실행됩니다.
공유 역할에서 흔히 사용합니다
재사용 가능한 역할은 listen을 사용합니다. 그러면 사용하는 쪽에서는 안정적인 주제에 알림을 보내고, 역할은 내부 핸들러 구성을 자유롭게 변경할 수 있습니다.
notify와 listen 비교
notify는 작업에서 보내는 신호이고, listen은 핸들러에서 설정하는 구독입니다. 둘을 함께 사용하면 하나의 이벤트를 여러 동작으로 바꿀 수 있습니다. 🔔
빠른 확인
알림 하나로 세 서비스를 동시에 다시 시작하려고 합니다. 하나의 토픽에 여러 핸들러가 응답하게 하려면 무엇을 사용해야 합니까?
복습
listen을 사용하면 작업이 토픽에 알림을 보내고 구독된 모든 핸들러가 실행됩니다. 이를 통해 작업과 핸들러를 분리하고 깔끔하게 확장할 수 있습니다. 🎯
자주 묻는 질문
“listen: 하나의 트리거, 여러 핸들러” 강의는 무료인가요?
네 — “listen: 하나의 트리거, 여러 핸들러” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ansible Academy 강의 전체를 잠금 해제할 수 있습니다. Ansible Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“listen: 하나의 트리거, 여러 핸들러”에서 뭘 배우나요?
하나의 알림을 여러 핸들러로 전달합니다. 브라우저에서 직접 실행하는 실습 코드로 Ansible Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Ansible Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Ansible Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“listen: 하나의 트리거, 여러 핸들러” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Ansible Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Ansible Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 변경 시 핸들러 알림
- 핸들러 정의 및 재시작 패턴
- 핸들러 실행 시점과 flush_handlers
- listen: 하나의 트리거, 여러 핸들러