Ansible এ টাস্ক (Task) এবং হ্যান্ডলার (Handler) দুটোই গুরুত্বপূর্ণ উপাদান, যা Playbook এ ব্যবহৃত হয় বিভিন্ন কাজ সম্পাদন করার জন্য। চলুন একে একে এই দুটি সম্পর্কে বিশদে আলোচনা করা যাক:
১. টাস্ক (Task)
টাস্ক হলো Ansible Playbook এর একটি মৌলিক উপাদান, যা নির্দিষ্ট কাজ বা অ্যাকশন সম্পাদন করে। প্রতিটি টাস্ক সাধারণত একটি মডিউল ব্যবহার করে এবং YAML ফরম্যাটে লেখা হয়। টাস্কগুলি ধারাবাহিকভাবে চলে এবং নির্দিষ্ট একটি টাস্ক সম্পন্ন হলে পরবর্তী টাস্কে চলে যায়।
একটি টাস্ক এর বৈশিষ্ট্য:
- নাম: টাস্কের নাম দেয়া থাকে যাতে সহজে বোঝা যায় এটি কী কাজ করছে। এটি সাধারণত ডিবাগিং এবং আউটপুটে ব্যবহৃত হয়।
- মডিউল: Ansible এর বিভিন্ন বিল্ট-ইন মডিউল (যেমন
apt,yum,fileইত্যাদি) ব্যবহৃত হয় টাস্কে। - Arguments: মডিউলের সাথে বিভিন্ন আরগুমেন্ট বা প্যারামিটার দেয়া যায়, যা টাস্কের কাজ নির্ধারণ করে।
টাস্কের উদাহরণ:
- name: Install Apache
apt:
name: apache2
state: present
উপরের টাস্কটি apt মডিউল ব্যবহার করে apache2 প্যাকেজ ইনস্টল করছে। state: present দিয়ে নিশ্চিত করা হচ্ছে যে প্যাকেজটি সিস্টেমে ইনস্টল করা আছে কিনা।
২. হ্যান্ডলার (Handler)
হ্যান্ডলার হলো বিশেষ ধরনের টাস্ক যা শুধু তখনই ট্রিগার হয় যখন একটি নির্দিষ্ট কন্ডিশন পূরণ হয়, অর্থাৎ যখন কোনো টাস্ক থেকে "change" ডিটেক্ট করা হয়।
- নাম: হ্যান্ডলারের জন্য একটি নাম থাকে, যাতে অন্য টাস্কগুলি এই হ্যান্ডলারকে রেফার করতে পারে।
- Trigger: একটি হ্যান্ডলার শুধুমাত্র
notifyকিওয়ার্ড ব্যবহার করে কল করা হলে রান হয়। - হ্যান্ডলারগুলো সাধারণত সার্ভিস রিস্টার্ট, ফাইল রিলোড বা কনফিগারেশন আপডেটের মতো কাজের জন্য ব্যবহৃত হয়।
হ্যান্ডলার এর উদাহরণ:
---
- name: Install and configure Apache
hosts: webservers
become: yes
tasks:
- name: Install Apache
apt:
name: apache2
state: present
notify: Restart Apache
- name: Copy Apache configuration file
copy:
src: /path/to/httpd.conf
dest: /etc/apache2/apache2.conf
notify: Restart Apache
handlers:
- name: Restart Apache
service:
name: apache2
state: restarted
ব্যাখ্যা:
- এখানে দুটি টাস্ক আছে:
- একটি টাস্ক
apache2ইনস্টল করছে। - অন্য টাস্ক
httpd.confফাইল কপি করছে।
- একটি টাস্ক
- দুইটি টাস্কই
notify: Restart Apacheব্যবহার করছে, অর্থাৎ যখনই এই টাস্কগুলোর মাধ্যমে কোনো পরিবর্তন হবে, তখন Restart Apache হ্যান্ডলারটি ট্রিগার হবে। - Restart Apache হ্যান্ডলারটি
apache2সার্ভিস রিস্টার্ট করবে, কিন্তু শুধু তখনই করবে যদি আগে কোনো পরিবর্তন ঘটে।
হ্যান্ডলার এর সুবিধা
- হ্যান্ডলার ব্যবহার করলে আপনি নিশ্চিত হতে পারেন যে কোনো সার্ভিস বা অ্যাকশন শুধুমাত্র তখনই চালু হবে যখন সত্যিই প্রয়োজন। যেমন, যদি
apache2সার্ভিস রিস্টার্ট করার দরকার না হয়, তাহলে এটি অনর্থক রিস্টার্ট হবে না। - এটি প্লেবুকের কার্যকারিতা এবং পারফরম্যান্স বাড়াতে সাহায্য করে।
সংক্ষেপে পার্থক্য:
| বৈশিষ্ট্য | টাস্ক (Task) | হ্যান্ডলার (Handler) |
|---|---|---|
| কার্যকারিতা | সরাসরি টাস্কগুলো চালায় | নির্দিষ্ট টাস্ক থেকে "change" হলে চালায় |
| কনফিগারেশন | সরাসরি মডিউল ও প্যারামিটার দিয়ে নির্ধারিত | notify এর মাধ্যমে কল করা হয় |
| কার্যকর হওয়ার সময় | প্লেবুকের টাস্ক সিকোয়েন্স অনুযায়ী | প্লেবুকের শেষে এবং "change" হলে |
এই হলো টাস্ক এবং হ্যান্ডলার এর মূল ধারণা।
Read more