Ansible Academy · Ders

Handler'ları ve Yeniden Başlatma Kalıplarını Tanımlama

Yeniden kullanılabilir hizmet yeniden başlatma handler'ları yazın.

2. ders / 413 adım

Handler'ları ve Yeniden Başlatma Kalıplarını Tanımlama, CoddyKit'te ücretsiz bir Ansible Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ansible Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ansible Academy kursu toplamda 4 dersten oluşur.

İşleyiciler Nerede Bulunur

İşleyiciler, normal görevlerinizden ayrı olarak bir playbook'un kendi handlers bölümünde bulunur. Bu, tepki veren eylemlerin açıkça gruplanmasını sağlar.

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

İşleyici Bir Görevdir

Bir işleyici, görevle tamamen aynı söz dizimini kullanır: bir ad ve bir modül çağrısı. Tek fark, bildirim gelene kadar beklemesidir.

Ad Sözleşmedir

İşleyicinin adı, diğer görevlerin notify içinde başvurduğu dizedir. Bunu yeniden kullanacağınız kararlı ve kesin bir etiket olarak ele alın.

service ile Yeniden Başlatın

Klasik bir yeniden başlatma işleyicisi, durumu restarted olarak ayarlanmış service modülünü kullanır. Birimi tek adımda durdurup başlatır.

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

Yeniden Yükleme ve Yeniden Başlatma

Bir hizmet destekliyorsa reloaded durumunu tercih edin. Yeniden yükleme, tam bir yeniden başlatmanın aksine bağlantıları kesmeden yapılandırmayı yeniden okur.

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

systemd'yi Doğrudan Kullanın

systemd modülü, systemd kullanan ana makinelerde daha ayrıntılı denetim sağlar; buna birim dosyasını değiştirdikten sonraki daemon_reload da dahildir.

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

İşleyicileri Genel Tutun

Yeniden kullanılabilir bir nginx'i yeniden başlat işleyicisi yazın ve birçok görevden ona bildirim gönderin. Aynı yeniden başlatma mantığını her yere kopyalamaktan kaçının.

İşleyiciler Tanımlanma Sırasıyla Çalışır

Birkaç işleyici kuyruğa alındığında, bildirim gönderilme sırasına göre değil, tanımlandıkları sıraya göre çalışırlar. Bu sırayı planlayın.

Bağımlılıklarda Sıra Önemlidir

Yeniden yüklemenin yeniden başlatmadan önce gerçekleşmesi gerekiyorsa, kuyruğun doğru ilerlemesi için bunları işleyiciler listesinde bu sırayla tanımlayın.

Rollerdeki İşleyiciler

Bir rolde işleyiciler handlers/main.yml dosyasında bulunur. Roldeki görevler, normal bir playbook'ta olduğu gibi bunlara tam adlarıyla bildirim gönderir.

Açıklık için Adlandırma

nginx'i yeniden başlat veya sshd'yi yeniden yükle gibi eylem biçimli adlar kullanın. Açık adlar çıktıyı okunabilir, notify satırlarını da belirgin kılar.

Hızlı Kontrol

Bir yapılandırmayı değiştirdiniz ve bağlantıları kesmeden çalışan hizmetin bunu almasını istiyorsunuz. Hangi durum en uygundur?

Özet

Artık handlers bölümünde işleyiciler tanımlayabilir, yeniden başlatma ile yeniden yükleme arasında seçim yapabilir ve tanımlanma sırasına göre çalışmaya güvenebilirsiniz. 🎯

Başlamak ücretsiz

Yapay zeka eğitmeniyle YAML öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Handler'ları ve Yeniden Başlatma Kalıplarını Tanımlama” dersi ücretsiz mi?

Evet — “Handler'ları ve Yeniden Başlatma Kalıplarını Tanımlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ansible Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ansible Academy kursu toplamda 4 dersten oluşur.

“Handler'ları ve Yeniden Başlatma Kalıplarını Tanımlama” dersinde ne öğreneceğim?

Yeniden kullanılabilir hizmet yeniden başlatma handler'ları yazın. Ansible Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Ansible Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Ansible Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Handler'ları ve Yeniden Başlatma Kalıplarını Tanımlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Ansible Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Ansible Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Değişiklikte Bir Handler Bildirme
  2. Handler'ları ve Yeniden Başlatma Kalıplarını Tanımlama
  3. Handler'lar Ne Zaman Çalışır ve flush_handlers
  4. Dinleme: Tek Tetikleyici, Birçok Handler
← Ansible Academy Sayfasına Dön