Ansible Academy · leksjon

Definere handlere og mønstre for omstart

Skriv gjenbrukbare handlere for omstart av tjenester.

Leksjon 2 av 413 trinn

Definere handlere og mønstre for omstart er en gratis leksjon i Ansible Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Ansible Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Ansible Academy inneholder totalt 4 leksjoner.

Hvor handlers plasseres

Handlers plasseres i en egen handlers-seksjon i en play, adskilt fra de vanlige taskene. Det holder reaktive handlinger tydelig samlet.

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: restarted

En handler er en task

En handler bruker nøyaktig samme syntaks som en task: et navn og et moduloppkall. Den eneste forskjellen er at den venter på å bli varslet.

Navnet er kontrakten

Handlerens navn er teksten som andre tasks refererer til i notify. Behandle det som en stabil og nøyaktig etikett du skal gjenbruke.

Restart med service

En klassisk restart-handler bruker service-modulen med state satt til restarted. Den stopper og starter enheten i ett trinn.

- name: Restart nginx
  ansible.builtin.service:
    name: nginx
    state: restarted

Reload kontra restart

Foretrekk reloaded når en tjeneste støtter det. En reload leser konfigurasjonen på nytt uten å bryte forbindelser, i motsetning til en full restart.

- name: Reload nginx
  ansible.builtin.service:
    name: nginx
    state: reloaded

Bruk systemd direkte

systemd-modulen gir mer detaljert kontroll på systemd-verter, blant annet daemon_reload etter at du har endret en unit-fil.

- name: Restart app
  ansible.builtin.systemd:
    name: app
    state: restarted
    daemon_reload: true

Hold handlers generiske

Skriv én gjenbrukbar Restart nginx-handler og varsle den fra mange tasks. Unngå å kopiere den samme omstartslogikken overalt.

Handlers kjører i definisjonsrekkefølge

Når flere handlers ligger i kø, kjører de i den rekkefølgen de er definert, ikke i rekkefølgen de ble varslet. Planlegg denne rekkefølgen.

Rekkefølgen er viktig for avhengigheter

Hvis en reload må skje før en restart, definerer du dem i riktig rekkefølge i handlerlisten, slik at køen behandles korrekt.

Handlers i roller

I en rolle ligger handlers i handlers/main.yml. Tasks i rollen varsler dem med navn, akkurat som i en vanlig playbook.

Navngivning for tydelighet

Bruk handlingsorienterte navn som Restart nginx eller Reload sshd. Tydelige navn gjør resultatet lett å lese og notify-linjene åpenbare.

Rask kontroll

Du har endret en konfigurasjon og vil at den kjørende tjenesten skal ta den i bruk uten å bryte forbindelser. Hvilken state er best?

Oppsummering

Du kan nå definere handlers i handlers-seksjonen, velge mellom restart og reload og stole på kjøring i definisjonsrekkefølge. 🎯

Gratis å komme i gang

Lær deg YAML med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Definere handlere og mønstre for omstart» gratis?

Ja – hele teksten i «Definere handlere og mønstre for omstart» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Ansible Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Ansible Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Definere handlere og mønstre for omstart»?

Skriv gjenbrukbare handlere for omstart av tjenester. Du øver på Ansible Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Ansible Academy?

Ingen tidligere erfaring er nødvendig. Ansible Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Definere handlere og mønstre for omstart»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Ansible Academy-leksjonen?

Ja. Alle Ansible Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Varsle en handler ved endring
  2. Definere handlere og mønstre for omstart
  3. Når handlere kjører og flush_handlers
  4. Listen: Én utløser, mange handlere
← Tilbake til Ansible Academy