Junior
Handlerlər nədir?
sobes.tech Süni İntellekt
AI-dan cavab
DevOps kontekstində, xüsusən Ansible kimi alətlərdə, Handlerlər (İşləyicilər) yalnız müəyyən şərtlər altında işləyən tapşırıqlar və ya kod bloklarıdır — başqa bir tapşırıq tərəfindən açıq şəkildə "bildirildikdə" işləyirlər. Onlar xidmətləri yenidən başlatmaq, serverləri yenidən başlatmaq və ya konfiqurasiya dəyişikliklərindən sonra baş verməli olan digər fəaliyyətləri həyata keçirmək üçün istifadə olunur.
Əsas xüsusiyyətlər:
- Bildirişlə işləyir: Handler yalnız bir və ya bir neçə tapşırıq onu açıq şəkildə "bildirdikdən" sonra (məsələn, Ansible-də
notifyistifadə etməklə) işə düşür. - Yeganə icra: Eyni handler-ı bir neçə tapşırıq bildirsə belə, o, yalnız playbook-un sonunda və ya
include_tasks/import_tasksbölməsində təyin olunduğu yerdə bir dəfə işləyəcək. Bu, xidmətlərin çoxsaylı yenidən başlatmasının qarşısını alır. - Deklarativ yanaşma: Onlar sistem vəziyyətindəki dəyişikliklərə görə hansı tədbirlərin görüləcəyini deklarativ şəkildə müəyyən etməyə imkan verir, əl ilə işlətməyə ehtiyac olmadan.
Ansible tapşırığında handler bildirişinə nümunə:
- name: Veb serveri konfiqurasiya et
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: # Handler-ə bildiriş
- restart nginx
Handler-in tərifi:
handlers:
- name: restart nginx # Handler adı, notify içindəki adla eyni
service:
name: nginx
state: restarted