Skip to content

টাস্ক শিডিউলার (Task Scheduler) বৈশিষ্ট্য পরিচিতি

টাস্ক শিডিউলার WSL-এ পুনরাবৃত্তিমূলক কাজগুলি স্বয়ংক্রিয় করতে ব্যবহৃত হয়, যা বারবার ম্যানুয়াল রক্ষণাবেক্ষণ অপারেশন এড়িয়ে চলে। এটি একটি ভিজুয়াল ম্যানেজমেন্ট ইন্টারফেস প্রদান করে যাতে আপনি জটিল কমান্ড-লাইন প্যারামিটার মুখস্থ না করেই নির্ধারিত কাজ তৈরি এবং পরিচালনা করতে পারেন।

এই বৈশিষ্ট্যের উদাহরণ পরিস্থিতি:

  • নিয়মিতভাবে WSL ডিস্ট্রিবিউশনগুলির ব্যাকআপ নেওয়া
  • কাস্টম স্ক্রিপ্ট বা কমান্ড চালানো

সকল কাজ কেন্দ্রীভূত ব্যবস্থাপনার জন্য Windows টাস্ক শিডিউলারের \WSLDashboard\UserTasks\ পথের অধীনে সংগ্রহ করা হয়। আপনি ইন্টারফেসে রিয়েল-টাইম টাস্ক অবস্থা (প্রস্তুত / চলমান / নিষ্ক্রিয়) দেখতে পারেন।

কমিউনিটি স্ক্রিপ্ট

দ্রুত শুরু করতে আপনি কমিউনিটি রিপোজিটরি থেকে উদাহরণ স্ক্রিপ্ট (ব্যাকআপ ডিস্ট্রিবিউশন) ডাউনলোড করতে পারেন:

https://github.com/owu/wsl-community

এটি একটি কমিউনিটি-চালিত কোড রিপোজিটরি। স্ক্রিপ্ট অবদান রাখতে বা সর্বোত্তম অনুশীলন শেয়ার করতে Pull Request জমা দেওয়ার জন্য স্বাগতম।

কমান্ড চালান

কমান্ড কনফিগারেশন

প্রতিটি নির্ধারিত কাজ একটি কমান্ড (স্ক্রিপ্ট বা এক্সিকিউটেবল) দিয়ে কনফিগার করা যেতে পারে, যা নিম্নলিখিত অপশনগুলি সমর্থন করে:

সেটিংবর্ণনা
কমান্ডস্ক্রিপ্ট বা এক্সিকিউটেবলের পাথ। .bat, .ps1, .cmd, .exe, .py ফরম্যাট সমর্থন করে। ফাইল নির্বাচন করতে "ব্রাউজ" বাটন ব্যবহার করুন।
আর্গুমেন্টকমান্ডে পাঠানো অতিরিক্ত আর্গুমেন্ট, ঐচ্ছিক।
অ্যাডমিন সুবিধা সহ চালাননির্বাচিত হলে, কাজটি সর্বোচ্চ সুবিধা নিয়ে চলে, যা UAC Elevation প্রয়োজন এমন অপারেশনের জন্য উপযুক্ত।

টাস্ক অপারেশন

একটি কাজ তৈরি করার পরে, আপনি নিম্নলিখিত অপারেশনগুলি করতে পারেন:

কার্যবর্ণনা
এখনই চালানসময়সূচী নিয়ম নির্বিশেষে কাজটি তাৎক্ষণিকভাবে চালাতে বাধ্য করুন।
সক্রিয়/নিষ্ক্রিয়কাজের স্বয়ংক্রিয় সময়সূচী বিরাম বা পুনরায় শুরু করুন।
মুছুনটাস্ক শিডিউলার থেকে কাজটি সরান।

সময়সূচী নিয়ম

Cron এক্সপ্রেশন

টাস্ক শিডিউলিং নির্বাহের নিয়ম সংজ্ঞায়িত করতে স্ট্যান্ডার্ড 5-ফিল্ড Cron এক্সপ্রেশন ব্যবহার করে, ফরম্যাট নিম্নরূপ:

মিনিট ঘন্টা দিন মাস সপ্তাহেরদিন
ফিল্ডমান পরিসরবর্ণনা
মিনিট0 - 59ঘন্টার কততম মিনিটে নির্বাহ হবে
ঘন্টা0 - 23দিনের কততম ঘন্টায় নির্বাহ হবে
দিন1 - 31মাসের কততম দিনে নির্বাহ হবে
মাস1 - 12বছরের কততম মাসে নির্বাহ হবে
সপ্তাহেরদিন0 - 70 এবং 7 উভয়েই রবিবার নির্দেশ করে

প্রতিটি ফিল্ড নিম্নলিখিত সিনট্যাক্স সমর্থন করে:

  • * —— সমস্ত মানের সাথে মেলে (যেমন * * * * * মানে প্রতি মিনিটে একবার নির্বাহ)
  • */N —— প্রতি N ইউনিট অন্তর একবার নির্বাহ (যেমন */5 * * * * মানে প্রতি 5 মিনিটে একবার নির্বাহ)
  • একক সংখ্যা —— নির্দিষ্ট মানের সাথে মেলে (যেমন 0 9 * * 1 মানে প্রতি সোমবার সকাল 9:00-তে নির্বাহ)

লক্ষ্য করুন: কমা দ্বারা পৃথক একাধিক মান (যেমন 1,15) এবং রেঞ্জ এক্সপ্রেশন (যেমন 1-5) সমর্থিত নয়। আরও সীমাবদ্ধতার জন্য নীচের সতর্কতা দেখুন।

সমর্থিত কম্বিনেশন প্যাটার্ন

এই সফ্টওয়্যারটি নেটিভ Cron ডেমন চালায় না, বরং Cron এক্সপ্রেশনকে Windows টাস্ক শিডিউলার (schtasks.exe)-এর ট্রিগার প্যারামিটারে অনুবাদ করে। সঠিক ম্যাপিংয়ের জন্য, পার্সারে শুধুমাত্র নিম্নলিখিত 7টি কম্বিনেশন প্যাটার্ন হার্ডকোড করে সমর্থিত, যা অধিকাংশ নির্ধারিত কাজের পরিস্থিতি কভার করে:

#প্যাটার্নবর্ণনাপ্রযোজ্য পরিস্থিতি
1* * * * *প্রতি মিনিটে নির্বাহমনিটরিং, রিয়েল-টাইম ডিটেকশন কাজ
2*/N * * * *প্রতি N মিনিটে একবার নির্বাহপর্যায়ক্রমিক চেক কাজ
3M * * * *প্রতি ঘন্টার M মিনিটে নির্বাহ (যেমন 3 * * * *)ঘন্টাভিত্তিক কাজ
4M H * * *প্রতিদিন H ঘন্টা M মিনিটে নির্বাহ (যেমন 0 3 * * *)দৈনন্দিন রক্ষণাবেক্ষণ, যেমন প্রতিদিন ভোরে লগ পরিষ্কার করা
5M H * * DOWপ্রতি সপ্তাহের নির্দিষ্ট দিনে H ঘন্টা M মিনিটে নির্বাহ (যেমন 0 12 * * 1)সাপ্তাহিক রুটিন কাজ, যেমন প্রতি সোমবার ডেটা ব্যাকআপ
6M H D * *প্রতি মাসের নির্দিষ্ট তারিখে H ঘন্টা M মিনিটে নির্বাহমাসিক কাজ, যেমন প্রতি মাসের ১ তারিখে রিপোর্ট তৈরি
7M H D MON *প্রতি বছরের নির্দিষ্ট মাস এবং তারিখে H ঘন্টা M মিনিটে নির্বাহবার্ষিক কাজ, যেমন নির্দিষ্ট মাসে নির্বাহ

যদি এক্সপ্রেশনটি উপরের 7টি প্যাটার্নের মধ্যে না পড়ে, সিস্টেম এটিকে Unsupported cron pattern হিসেবে বিবেচনা করবে এবং তৈরি করতে অস্বীকার করবে।

সতর্কতা

যেহেতু ভিত্তি Windows টাস্ক শিডিউলারের উপর ভিত্তি করে তৈরি, এই সফ্টওয়্যারটির Cron পার্সার স্ট্যান্ডার্ড Linux Cron-এর থেকে নিম্নলিখিত পার্থক্য রয়েছে:

1. তালিকা (,) এবং রেঞ্জ (-) সমর্থিত নয়

স্ট্যান্ডার্ড Cron কমা দিয়ে একাধিক বিচ্ছিন্ন সময় পয়েন্ট সংজ্ঞায়িত করার অনুমতি দেয় (যেমন 1,15,30 * * * * মানে ১ম, ১৫তম, ৩০তম মিনিট), বা হাইফেন দিয়ে রেঞ্জ সংজ্ঞায়িত করার অনুমতি দেয় (যেমন 1-5 * * * * মানে ১ম থেকে ৫ম মিনিট)।

এই সফ্টওয়্যারের সীমাবদ্ধতা: প্রতিটি ফিল্ডে শুধুমাত্র একক সংখ্যা, তারকাচিহ্ন (*) বা স্টেপ (*/N) ব্যবহার করা যাবে, কমা এবং হাইফেন সমর্থিত নয়।

2. মুক্ত কম্বিনেশন সমর্থিত নয়

স্ট্যান্ডার্ড Cron যেকোনো ফিল্ডের মুক্ত কম্বিনেশন অনুমতি দেয় (যেমন * 3 * * * মানে প্রতিদিন ভোর ৩টার ঘন্টার প্রতিটি মিনিট), কিন্তু এই সফ্টওয়্যারটি শুধুমাত্র উপরে তালিকাভুক্ত 7টি নির্দিষ্ট প্যাটার্ন সমর্থন করে, এই সীমার বাইরের এক্সপ্রেশন প্রত্যাখ্যান করা হবে।

3. স্টেপ প্যাটার্নের সময় সারিবদ্ধকরণের পার্থক্য

স্ট্যান্ডার্ড Cron-এ, */5 * * * * কঠোরভাবে ঘড়ির 0, 5, 10, 15... মিনিটে সারিবদ্ধ হয়। এই সফ্টওয়্যারটি এটিকে Windows-এর /SC MINUTE /MO 5 প্যারামিটারে অনুবাদ করে, যেখানে Windows-এর প্রক্রিয়াকরণ যুক্তি হল কাজ তৈরি বা সক্রিয় করার মুহূর্ত থেকে ব্যবধান গণনা করা

উদাহরণস্বরূপ, আপনি যদি 10:02-এ প্রতি 5 মিনিটে চলা একটি কাজ সংরক্ষণ এবং সক্রিয় করেন, এটি প্রথমবার 10:07-এ নির্বাহ হবে, তারপর 10:12-এ, স্ট্যান্ডার্ড ঘড়ির 10:05-এর সাথে সারিবদ্ধ না হয়ে।