Ansible-এ notify এবং হ্যান্ডলার একসঙ্গে কাজ করে একটি নির্দিষ্ট ইভেন্ট ঘটলে বা কোনো টাস্ক সফলভাবে সম্পন্ন হলে নির্দিষ্ট অ্যাকশন চালু করার জন্য। notify একটি নির্দেশনা যা টাস্কের সাথে সংযুক্ত থাকে, এবং এটি হ্যান্ডলারকে ট্রিগার করার জন্য ব্যবহার করা হয়। অন্যদিকে, হ্যান্ডলার হলো সেই টাস্ক যা notify নির্দেশনার মাধ্যমে চালু হয়।
notify এবং হ্যান্ডলারের মধ্যে সম্পর্ক কীভাবে কাজ করে?
- যখন কোনো টাস্কে
notifyব্যবহার করা হয়, তখন সেই টাস্ক সফলভাবে সম্পন্ন হলে Ansible সেই নির্দিষ্ট হ্যান্ডলারকে "ট্রিগার" করে। - প্লেবুক চলাকালীন সময়ে, যতবারই টাস্ক
notifyকরে, Ansible সেই হ্যান্ডলারকে শুধুমাত্র একবার চালাবে। - হ্যান্ডলারগুলো সাধারণত প্লেবুকের শেষে বা পুরো হোস্টের জন্য চলার পরে চালু হয়।
notify এবং হ্যান্ডলারের সম্পর্ক
notify:
- এটি একটি নির্দেশনা যা টাস্কের সাথে সংযুক্ত থাকে এবং একটি নির্দিষ্ট হ্যান্ডলারের নাম উল্লেখ করে।
- যদি টাস্কটি সফল হয়, তাহলে হ্যান্ডলারকে "নোটিফাই" করা হয় অর্থাৎ সেটিকে পরে চালু করার জন্য "পেন্ডিং" রাখা হয়।
হ্যান্ডলার:
- হ্যান্ডলার হলো একটি বিশেষ টাস্ক যা তখনই চালু হয় যখন কোনো টাস্ক
notifyকরে। - একটি প্লেবুকে হ্যান্ডলারগুলো সাধারণত
handlersসেকশনে সংরক্ষণ করা হয়।
উদাহরণ
নিচে একটি উদাহরণ প্লেবুক দেয়া হলো যেখানে notify এবং হ্যান্ডলারের মধ্যে সম্পর্ক দেখানো হয়েছে:
---
- name: Configure Nginx
hosts: webservers
become: yes
tasks:
- name: Deploy Nginx configuration
template:
src: templates/nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Restart Nginx
handlers:
- name: Restart Nginx
service:
name: nginx
state: restarted
উদাহরণটি বিশ্লেষণ:
tasks সেকশনে:
Deploy Nginx configurationটাস্কটি Nginx কনফিগারেশন ফাইল আপডেট করছে।- এই টাস্কটি সফল হলে, এটি
notify: Restart Nginxনির্দেশনা দেয়, অর্থাৎRestart Nginxনামের হ্যান্ডলারকে ট্রিগার করে।
handlers সেকশনে:
Restart Nginxনামে একটি হ্যান্ডলার আছে, যা Nginx সার্ভিস রিস্টার্ট করবে।- যদি কোনো টাস্ক এই হ্যান্ডলারকে
notifyকরে, তাহলে প্লেবুকের শেষে এই হ্যান্ডলারটি একবার চালু হবে।
notify এবং হ্যান্ডলার ব্যবহারের সুবিধা
অপটিমাইজড এক্সিকিউশন:
- একটি প্লেবুকে একাধিক টাস্ক একই হ্যান্ডলারকে
notifyকরতে পারে, তবে এটি শুধুমাত্র একবার চালু হয়। উদাহরণস্বরূপ, যদি একটি কনফিগারেশন ফাইল পরিবর্তন হয় এবং একাধিক টাস্ক হ্যান্ডলারকেnotifyকরে, তবে হ্যান্ডলারটি শুধুমাত্র একবার চালু হবে।
ডিপেন্ডেন্ট অ্যাকশন:
notifyএবং হ্যান্ডলার ব্যবহার করে নির্দিষ্ট শর্ত পূরণ হলে বা কনফিগারেশন পরিবর্তনের পর স্বয়ংক্রিয়ভাবে অ্যাকশন (যেমন: সার্ভিস রিস্টার্ট) নেওয়া যায়।
কোড পুনঃব্যবহারযোগ্যতা:
- হ্যান্ডলার আলাদাভাবে সংরক্ষণ করা হলে, এটি পুনরায় ব্যবহার করা যায়। যেকোনো টাস্ক
notifyদিয়ে একই হ্যান্ডলারকে ট্রিগার করতে পারে।
সারসংক্ষেপ
notify: এটি একটি নির্দেশনা যা একটি টাস্কে ব্যবহৃত হয় এবং হ্যান্ডলারকে ট্রিগার করে, যদি সেই টাস্কটি সফল হয়।- হ্যান্ডলার: এটি একটি টাস্ক যা
notifyএর মাধ্যমে ট্রিগার হয় এবং প্লেবুকের শেষে একবার চালু হয়। - সম্পর্ক:
notifyহ্যান্ডলারকে ট্রিগার করে এবং কেবলমাত্র সেই অবস্থায় হ্যান্ডলারটি চালু হয় যখন একটি টাস্ক সফলভাবে সম্পন্ন হয় এবং হ্যান্ডলারকেnotifyকরে।
এইভাবে, Ansible-এ notify এবং হ্যান্ডলারের মধ্যে একটি কার্যকর এবং সামঞ্জস্যপূর্ণ সম্পর্ক রয়েছে, যা প্লেবুকগুলিকে আরও কার্যকরী এবং সুসংগঠিত করতে সহায়ক।
Read more