কম্পিউটার টিউটোরিয়াল

পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

Windows Task Scheduler-এ টাস্কগুলো শিডিউল অনুযায়ী চলার পাশাপাশি নির্দিষ্ট ইভেন্ট লগে রেজিস্টার হওয়ার পরও চালানো যায়। (এ সম্পর্কে "Event Triggers in Windows" আর্টিকেলে বলা হয়েছে।) এই আর্টিকেলে আমরা দেখব পূর্বের টাস্ক সম্পন্ন হলে কীভাবে শিডিউলার টাস্ক স্বয়ংক্রিয়ভাবে শুরু করব। শিডিউলার টাস্কের নির্ভরতা কনফিগার করার অ্যালগরিদম দেখব, যেটি আপনার প্রয়োজন অনুযায়ী কাস্টমাইজ করা যাবে।

আমার কেসে, একটি স্ক্রিপ্ট 완료 হলে অন্য একটি ইউজার অ্যাকাউন্ট থেকে আরেকটি স্ক্রিপ্ট চালাতে হতো। তাই এই দুটি অ্যাকশন একই টাস্কে একসাথে করা সম্ভব নয়।

ধরে নিন, Ping টাস্কটি শেষ হলে Pong শিডিউলার টাস্কটি শুরু করতে হবে। কোনো টাস্ক শুরু বা শেষ হলে সিস্টেম লগে সেই ইভেন্টের তথ্য রেজিস্টার হয়। আমরা Ping টাস্ক সম্পন্ন হওয়ার ইভেন্টের ওপর ফোকাস করব।

Task Scheduler কনসোল (Taskschd.msc) খুলুন, Ping ইভেন্টটি খুঁজে বের করে সিলেক্ট করুন, এবং নিচের প্যানেলের History ট্যাবে যান যেখানে এই টাস্কের সাথে জড়িত সকল ইভেন্টের তথ্য থাকে। আমাদের দরকার Event ID 102 (Task completed) — যা টাস্ক সম্পন্ন হওয়ার পর জেনারেট হয়।

পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

ডিটেইল্ড ইভেন্ট ডেসক্রিপশন খুলতে Detail ট্যাবে যান এবং XML View এনাবল করুন। XML ডেটা অনুযায়ী আপনি ইভেন্টের সব ডিটেইল পেয়ে যাবেন যা ফিল্টার তৈরি করতে দরকার। বিশেষ করে আমাদের লাগবে:

EventID: 102
Provider-Name: Microsoft-Windows-TaskScheduler
Channel: Microsoft-Windows-TaskScheduler/Operational
TaskName: \ping

পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

Pong টাস্কের জন্য ট্রিগার তৈরি করার সময়, EventID 102 লগে আসায় টাস্ক শুরু হবে এমন শর্ত তৈরি করতে হবে (Task trigger On an event)। কিন্তু সমস্যা হল EventID 102 যেকোনো টাস্ক সম্পন্ন হলে আসে, শুধু Ping টাস্কের लिये নয়। পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

তবে, স্ট্যান্ডার্ড ফিল্টার যদি যথেষ্ট নির্ভুল না হয়, তবে আরও নমনีย একটি শর্ত তৈরি করা যায় (Custom)। New Event Filter-এ ক্লিক করুন:

পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

XML View-এ পাওয়া ডেটা দিয়ে নতুন ইভেন্ট ফিল্টার তৈরি করুন:

Events Logs: Microsoft-Windows-TaskScheduler/Operational

Event source: TaskScheduler

Task category: Task completed

পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

তারপর XML ট্যাবে যান এবং ফিল্টারের XPath ভিউ দেখুন:

<QueryList>
<Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
<Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and Task = 102]]</Select>
</Query>
</QueryList>

পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

XPath কোডটি নিচের মতো পরিবর্তন করুন, যাতে \ping টাস্কের TaskCompleted ইভেন্ট ফিল্টার হয়:

<QueryList>
<Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
<Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[Provider[@Name='Microsoft-Windows-TaskScheduler'] and Task = 102]]</Select>
</Query>
</QueryList>

পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

ইভেন্টটি যোগ করার পর Ping টাস্কটি চালু করে দেখুন। এটি সম্পন্ন হলে Pong টাস্কটি সাথে সাথে শুরু হয়ে যাবে।

XPath-এর ব্যাখ্যা নিচে দেওয়া আছে:

পূর্বের টাস্ক শেষ হলে টাস্ক শিডিউলার টাস্ক স্বয়ংক্রিয় শুরু করার পদ্ধতি

  1. নোটিফিকেশন ক্লিক করলে অ্যান্ড্রয়েড অ্যাক্টিভিটি শুরু করা

  2. উইন্ডোজ Task Scheduler দিয়ে অটোম্যাটিক কম্পিউটার শাটডাউন শিডিউল করুন

  3. টাস্ক শিডিউলার দিয়ে উইন্ডোজ স্টার্টআপে যেকোনো প্রোগ্রাম চালান – ধাপে ধাপে গাইড

  4. আপনার উইন্ডোজ পিসি অটোমেটিক্যালি ওয়েক আপ করুন: সহজ শিডিউলিং গাইড