0Pricing
Ansible Academy · Lekcja

Powiadamianie handlera o zmianie

Połączenie zadania z uruchamianym handlerem.

Powiadamianie handlera o zmianie to bezpłatna lekcja Ansible Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Uruchamiaj ponownie tylko w razie potrzeby

Restartowanie usługi przy każdym uruchomieniu jest niepotrzebne i ryzykowne. Handler pozwala uruchomić ją ponownie tylko wtedy, gdy coś faktycznie się zmieniło.

Czym jest handler

Handler to po prostu zadanie, które pozostaje bezczynne, dopóki zwykłe zadanie nie nakaże mu się uruchomić. Można myśleć o nim jak o działaniu oczekującym na sygnał.

Słowo kluczowe notify

Zadanie łączy się z handlerem za pomocą słowa kluczowego notify. Wartością jest dokładna nazwa handlera, który ma zostać uruchomiony.

- name: Copy nginx config
  ansible.builtin.copy:
    src: nginx.conf
    dest: /etc/nginx/nginx.conf
  notify: Restart nginx

Nazwy muszą się zgadzać

Ciąg znaków w notify musi odpowiadać nazwie handlera znak po znaku. Literówka oznacza, że handler po cichu nigdy się nie uruchomi.

notify działa przy changed

Handler jest powiadamiany tylko wtedy, gdy jego zadanie zgłosi changed. Jeśli zadanie jest już w żądanym stanie, nic nie zostaje uruchomione.

ok oznacza brak notify

Gdy zadanie zwraca ok, Ansible całkowicie pomija notify. Dlatego drugie uruchomienie zwykle niczego nie restartuje. ✅

Jedno zadanie może powiadomić wiele handlerów

Jedno zadanie może powiadomić kilka handlerów, przekazując do notify listę. Każdy nazwany handler trafia do kolejki, gdy zadanie wprowadzi zmianę.

  notify:
    - Restart nginx
    - Reload firewall

Powiadomienia trafiają do kolejki

Powiadomienie nie uruchamia handlera natychmiast. Ansible umieszcza go w kolejce i uruchamia później, po zakończeniu zadań playa.

Każdy handler uruchamia się raz

Jeśli pięć zadań powiadomi ten sam handler, nadal uruchomi się on raz. Ansible automatycznie eliminuje zduplikowane powiadomienia w kolejce.

Dlaczego ogranicza to przestoje

Ponieważ restart następuje tylko po rzeczywistej zmianie, niezmienione serwery nadal obsługują ruch. To sedno bezpiecznej, idempotentnej automatyzacji.

Pełny obraz

Zadanie zmienia plik, a następnie notify dodaje restart do kolejki. Zadania się kończą, po czym handler restartuje usługę. Czysto i minimalnie.

Szybkie sprawdzenie

Kiedy powiadomiony handler faktycznie zostaje uruchomiony?

Podsumowanie

Nauczyli się Państwo, że notify łączy zadanie z handlerem uruchamianym tylko po zmianie. Nazwy muszą się zgadzać, a Ansible umieszcza każdy handler w kolejce i uruchamia go tylko raz. 🚀

Często zadawane pytania

Czy lekcja „Powiadamianie handlera o zmianie” jest bezpłatna?

Tak — pełny tekst „Powiadamianie handlera o zmianie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Powiadamianie handlera o zmianie”?

Połączenie zadania z uruchamianym handlerem. Ćwiczysz Ansible Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Ansible Academy?

Nie wymagamy żadnego doświadczenia. Ansible Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Powiadamianie handlera o zmianie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Ansible Academy?

Tak. Każda lekcja Ansible Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Powiadamianie handlera o zmianie
  2. Definiowanie handlerów i wzorce restartu
  3. Kiedy uruchamiają się handlery i flush_handlers
  4. Listen: jeden wyzwalacz, wiele handlerów
← Powrót do Ansible Academy