Meddela en handler vid ändring
Koppla en uppgift så att en handler körs
Meddela en handler vid ändring är en gratis lektion i Ansible Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Ansible Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Ansible Academy innehåller totalt 4 lektioner.
Starta bara om vid behov
Att starta om en tjänst vid varje körning är slösaktigt och riskabelt. En handler låter dig starta om den endast när något faktiskt har ändrats.
Vad är en handler
En handler är helt enkelt en task som väntar passivt tills en vanlig task säger åt den att köras. Tänk på den som en åtgärd som väntar på en signal.
Nyckelordet notify
Du kopplar en task till en handler med nyckelordet notify. Värdet är exakt det namn på handlern som ska väckas.
- name: Copy nginx config
ansible.builtin.copy:
src: nginx.conf
dest: /etc/nginx/nginx.conf
notify: Restart nginxNamnen måste matcha
Strängen i notify måste matcha handlerns namn bokstav för bokstav. Ett stavfel innebär att handlern aldrig körs, utan någon tydlig varning.
Notify körs vid changed
En handler notifieras endast när dess task rapporterar changed. Om tasken redan befinner sig i önskat tillstånd utlöses ingenting.
ok innebär ingen notify
När en task returnerar ok hoppar Ansible helt över notify. Därför startar en andra körning vanligtvis inte om någonting. ✅
En task kan notifiera flera
En task kan notifiera flera handlers genom att ge notify en lista. Varje namngiven handler läggs i kön när tasken ändras.
notify:
- Restart nginx
- Reload firewallNotifieringar läggs i kö
En notifiering kör inte handlern direkt. Ansible lägger den i kö och kör den senare, efter att playens tasks har slutförts.
Varje handler körs en gång
Om fem tasks notifierar samma handler körs den ändå bara en gång. Ansible tar automatiskt bort dubbletter bland notifieringarna i kön.
Varför detta minskar driftstopp
Eftersom omstarten bara sker vid en verklig förändring fortsätter oförändrade servrar att leverera trafik. Det är kärnan i säker, idempotent automation.
Helheten
En task ändrar en fil, och sedan lägger notify omstarten i kön. Taskarna slutförs, och därefter startar handlern om tjänsten. Rent och minimalt.
Snabb kontroll
När utlöses en notifierad handler faktiskt?
Sammanfattning
Du har lärt dig att notify kopplar en task till en handler som endast körs vid en förändring. Namnen måste matcha, och Ansible lägger varje handler i kö så att den körs exakt en gång. 🚀
Lär dig YAML med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Meddela en handler vid ändring” gratis?
Ja – hela texten till ”Meddela en handler vid ändring” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Ansible Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Ansible Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Meddela en handler vid ändring”?
Koppla en uppgift så att en handler körs Ni övar på Ansible Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Ansible Academy?
Du behöver inga förkunskaper. Utbildningen i Ansible Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Meddela en handler vid ändring”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Ansible Academy-lektionen?
Ja. Varje Ansible Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Meddela en handler vid ändring
- Definiera handlers och mönster för omstart
- När handlers körs och flush_handlers
- Listen: en utlösare, flera handlers