Junior
Handler nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
DevOps bağlamında, özellikle Ansible gibi araçlarda, Handlerlar (İşleyiciler), yalnızca belirli koşullar altında çalışan görevler veya kod bloklarıdır — başka bir görev tarafından açıkça "bildirildiğinde" çalışırlar. Hizmetleri yeniden başlatmak, sunucuları yeniden başlatmak veya yapılandırmadaki önemli değişikliklerden sonra gerçekleşmesi gereken diğer işlemleri yapmak için kullanılırlar.
Ana özellikler:
- Bildirimle çalıştırılır: Handler, yalnızca bir veya birkaç görev onu açıkça "bildirdiğinde" (örneğin, Ansible'de
notifykullanarak) başlatılır. - Tek seferlik çalıştırma: Aynı handler'ı birden fazla görev bildirse bile, o sadece playbook'un sonunda veya
include_tasks/import_tasksbölümünde tanımlandığı yerde bir kez çalışır. Bu, hizmetlerin çoklu yeniden başlatılmasını önler. - Deklaratif yaklaşım: Sistem durumundaki değişikliklere göre hangi işlemlerin yapılması gerektiğini deklaratif olarak tanımlamalarına olanak tanır, manuel çalıştırma endişesi olmadan.
Ansible görevi içinde handler bildirimine örnek:
- name: Web sunucusunu yapılandır
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: # Handler'ı bildiriyoruz
- restart nginx
Handler tanımı:
handlers:
- name: restart nginx # Handler adı, notify içindeki isimle aynı
service:
name: nginx
state: restarted