Skip to content

အလုပ်အချိန်ဇယားဆွဲသူ ​

Task Scheduler (အလုပ်အချိန်ဇယားဆွဲသူ) ကို WSL တွင် ပုံမှန် အလုပ်များကို အလိုအလျောက် လုပ်ဆောင်စေရန် အသုံးပြုပြီး ထပ်ခါတလဲလဲ လက်ဖြင့် ပြုပြင်ထိန်းသိမ်းမှုများကို ရှောင်ရှားစေသည်။ ၎င်းသည် visual management interface တစ်ခုကို ပေးဆောင်ပြီး ရှုပ်ထွေးသော command line parameters များကို အလွတ်ကျက်စရာမလိုဘဲ အချိန်ဇယားအလုပ်များကို ဖန်တီး စီမံနိုင်စေသည်။

ဤလုပ်ဆောင်ချက်၏ ဥပမာ အခြေအနေများ-

  • WSL ရှိ ဖြန့်ဝေမှုများကို ပုံမှန် backup လုပ်ခြင်း
  • Custom script သို့မဟုတ် command များကို လုပ်ဆောင်ခြင်း

အလုပ်အားလုံးကို Windows Task Scheduler ၏ \WSLDashboard\UserTasks\ path အောက်တွင် စုစည်းထားပြီး ဗဟိုပြု၍ ကြည့်ရှု စီမံနိုင်သည်။ Interface တွင် အလုပ်၏ အခြေအနေ (Ready / Running / Disabled) ကို real-time ကြည့်ရှုနိုင်သည်။

Community Script Repository ​

အောက်ပါ community repository မှ ဥပမာ script များ (ဖြန့်ဝေမှု backup) ကို ဒေါင်းလုဒ်လုပ်ပြီး လျင်မြန်စွာ စတင်နိုင်သည်-

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

ဤသည် အသုံးပြုသူများ ပူးတွဲတည်ဆောက်ထားသော code repository ဖြစ်ပြီး script များ ပံ့ပိုးရန် သို့မဟုတ် အကောင်းဆုံး အလေ့အကျင့်များ မျှဝေရန် Pull Request ပို့ပေးရန် ကြိုဆိုပါသည်။

Command လုပ်ဆောင်ခြင်း ​

Command Configuration ​

အချိန်ဇယားအလုပ်တိုင်းတွင် လုပ်ဆောင်ရမည့် command (script သို့မဟုတ် executable program) ကို configure လုပ်နိုင်ပြီး အောက်ပါ options များကို ပံ့ပိုးသည်-

Configuration Itemရှင်းလင်းချက်
လုပ်ဆောင်ရန် CommandRun ရမည့် script သို့မဟုတ် executable program ၏ path၊ .bat, .ps1, .cmd, .exe, .py စသည့် formats များကို ပံ့ပိုးသည်။ "Browse" ခလုတ်ဖြင့် ဖိုင်ရွေးချယ်နိုင်သည်။
Command ParametersCommand သို့ ပေးပို့ရန် ထပ်ဆောင်း parameters များ၊ optional ဖြစ်သည်။
Administrator အခွင့်အရေးအမှတ်ခြစ်ပါက အလုပ်သည် အမြင့်ဆုံး အခွင့်အရေးဖြင့် run ပြီး UAC မြှင့်တင်မှု လိုအပ်သော လုပ်ဆောင်ချက်များအတွက် သင့်လျော်သည်။

အလုပ်လုပ်ဆောင်ချက်များ ​

အလုပ်ဖန်တီးပြီးနောက် အောက်ပါ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်သည်-

လုပ်ဆောင်ချက်ရှင်းလင်းချက်
ချက်ချင်း Runစီစဉ်မှုစည်းမျဉ်းများဖြင့် ကန့်သတ်ခြင်းမရှိဘဲ အလုပ်ကို ချက်ချင်း လုပ်ဆောင်စေသည်။
Enable/Disableအလုပ်၏ အလိုအလျောက် စီစဉ်မှုကို ခဏရပ်ထားရန် သို့မဟုတ် ပြန်လည်စတင်ရန်။
ဖျက်ခြင်းTask Scheduler မှ အလုပ်ကို ဖယ်ရှားသည်။

စီစဉ်မှုစည်းမျဉ်းများ ​

Cron Expression ​

အလုပ်စီစဉ်မှုသည် 5-field standard Cron expression ကို အသုံးပြု၍ လုပ်ဆောင်မှုစည်းမျဉ်းကို သတ်မှတ်ပြီး format မှာ အောက်ပါအတိုင်းဖြစ်သည်-

မိနစ် နာရီ ရက် လ ရက်သတ္တပတ်
Fieldတန်ဖိုးအကွာအဝေးရှင်းလင်းချက်
မိနစ်0 - 59နာရီတိုင်း၏ မည်သည့်မိနစ်တွင် လုပ်ဆောင်မည်
နာရီ0 - 23နေ့တိုင်း၏ မည်သည့်နာရီတွင် လုပ်ဆောင်မည်
ရက်1 - 31လတိုင်း၏ မည်သည့်ရက်တွင် လုပ်ဆောင်မည်
လ1 - 12နှစ်တိုင်း၏ မည်သည့်လတွင် လုပ်ဆောင်မည်
ရက်သတ္တပတ်0 - 70 နှင့် 7 နှစ်ခုလုံးသည် တနင်္ဂနွေနေ့ကို ကိုယ်စားပြုသည်

Field တိုင်းသည် အောက်ပါ syntax များကို ပံ့ပိုးသည်-

  • * —— တန်ဖိုးအားလုံးကို ကိုက်ညီသည် (ဥပမာ * * * * * သည် မိနစ်တိုင်း လုပ်ဆောင်သည်ကို ဆိုလိုသည်)
  • */N —— N ယူနစ်တိုင်း တစ်ကြိမ် လုပ်ဆောင်သည် (ဥပမာ */5 * * * * သည် 5 မိနစ်တိုင်း လုပ်ဆောင်သည်ကို ဆိုလိုသည်)
  • ဂဏန်းတစ်လုံး —— သီးခြားတန်ဖိုးတစ်ခုကို ကိုက်ညီသည် (ဥပမာ 0 9 * * 1 သည် တနင်္လာနေ့ နံနက် 9:00 တွင် လုပ်ဆောင်သည်ကို ဆိုလိုသည်)

သတိပြုရန်: Comma ဖြင့် ခွဲထားသော တန်ဖိုးများစွာ (ဥပမာ 1,15) နှင့် range expression များ (ဥပမာ 1-5) ကို မပံ့ပိုးပါ။ နောက်ထပ် ကန့်သတ်ချက်များအတွက် အောက်ပါ သတိပြုရန် ကို ကြည့်ပါ။

ပံ့ပိုးထားသော ပေါင်းစပ်ပုံစံများ ​

ဤ software သည် native Cron daemon ကို run လုပ်ခြင်း မဟုတ်ဘဲ Cron expression များကို Windows Task Scheduler (schtasks.exe) ၏ trigger parameters အဖြစ် ဘာသာပြန်ပေးသည်။ တိကျစွာ map လုပ်နိုင်ရန် parser သည် အောက်ပါ 7 မျိုးသော ပေါင်းစပ်ပုံစံများ ကိုသာ hardcode ပံ့ပိုးထားပြီး အချိန်ဇယားအလုပ်အများစုကို ဖုံးအုပ်ထားသည်-

#ပုံစံရှင်းလင်းချက်သင့်လျော်သော အခြေအနေ
1* * * * *မိနစ်တိုင်း လုပ်ဆောင်သည်စောင့်ကြည့်ခြင်း၊ real-time detection အလုပ်များ
2*/N * * * *N မိနစ်တိုင်း တစ်ကြိမ် လုပ်ဆောင်သည်ကာလအလိုက် စစ်ဆေးသည့် အလုပ်များ
3M * * * *နာရီတိုင်း၏ M မိနစ်တွင် လုပ်ဆောင်သည် (ဥပမာ 3 * * * *)နာရီပြည့် အလုပ်များ
4M H * * *နေ့တိုင်း H နာရီ M မိနစ်တွင် လုပ်ဆောင်သည် (ဥပမာ 0 3 * * *)နေ့စဉ် ထိန်းသိမ်းမှု၊ ဥပမာ နံနက်စောစော log ရှင်းလင်းခြင်း
5M H * * DOWအပတ်တိုင်း သတ်မှတ်ထားသော ရက်သတ္တပတ်နေ့၏ H နာရီ M မိနစ်တွင် လုပ်ဆောင်သည် (ဥပမာ 0 12 * * 1)အပတ်စဉ် ပုံမှန်အလုပ်များ၊ ဥပမာ တနင်္လာနေ့ data backup
6M H D * *လတိုင်း သတ်မှတ်ထားသော ရက်စွဲ၏ H နာရီ M မိနစ်တွင် လုပ်ဆောင်သည်လစဉ် အလုပ်များ၊ ဥပမာ လ ၁ ရက်နေ့ report ထုတ်ခြင်း
7M H D MON *နှစ်တိုင်း သတ်မှတ်ထားသော လနှင့်ရက်စွဲ၏ H နာရီ M မိနစ်တွင် လုပ်ဆောင်သည်နှစ်စဉ် အလုပ်များ၊ ဥပမာ သတ်မှတ်ထားသော လတွင် လုပ်ဆောင်ခြင်း

Expression သည် အထက်ပါ 7 မျိုးအနက် မပါပါက system သည် Unsupported cron pattern အဖြစ် သတ်မှတ်ပြီး ဖန်တီးခြင်းကို ငြင်းပယ်ပါမည်။

သတိပြုရန် ​

Windows Task Scheduler အခြေခံဖြင့် အကောင်အထည်ဖော်ထားသောကြောင့် ဤ software ၏ Cron parser သည် standard Linux Cron နှင့် အောက်ပါ ကွာခြားချက်များ ရှိသည်-

1. List (,) နှင့် Range (-) ကို မပံ့ပိုးပါ ​

Standard Cron သည် comma ဖြင့် discrete time points အများအပြားကို သတ်မှတ်နိုင်သည် (ဥပမာ 1,15,30 * * * * သည် မိနစ် 1, 15, 30 ကို ဆိုလိုသည်) သို့မဟုတ် hyphen ဖြင့် range ကို သတ်မှတ်နိုင်သည် (ဥပမာ 1-5 * * * * သည် မိနစ် 1 မှ 5 ကို ဆိုလိုသည်)။

ဤ software ၏ ကန့်သတ်ချက်: Field တိုင်းတွင် ဂဏန်းတစ်လုံး၊ asterisk (*) သို့မဟုတ် step (*/N) သာ ဖြည့်နိုင်ပြီး comma နှင့် hyphen ကို မပံ့ပိုးပါ။

2. လွတ်လပ်စွာ ပေါင်းစပ်မှုကို မပံ့ပိုးပါ ​

Standard Cron သည် field များကို လွတ်လပ်စွာ ပေါင်းစပ်နိုင်သည် (ဥပမာ * 3 * * * သည် နံနက် 3 နာရီအတွင်း မိနစ်တိုင်း လုပ်ဆောင်သည်ကို ဆိုလိုသည်)၊ သို့သော် ဤ software သည် အထက်တွင်ဖော်ပြထားသော 7 မျိုးသော ပုံသေပုံစံများကိုသာ ပံ့ပိုးပြီး ထိုအကွာအဝေးပြင်ပ expression များကို ငြင်းပယ်ပါမည်။

3. Step ပုံစံ၏ အချိန် Alignment ကွာခြားချက် ​

Standard Cron တွင် */5 * * * * သည် နာရီ၏ 0, 5, 10, 15... မိနစ်များနှင့် တိကျစွာ ကိုက်ညီသည်။ ဤ software သည် ၎င်းကို Windows ၏ /SC MINUTE /MO 5 parameters အဖြစ် ဘာသာပြန်ပြီး Windows ၏ လုပ်ဆောင်မှု logic မှာ အလုပ်ဖန်တီးချိန် သို့မဟုတ် enable လုပ်ချိန်မှစ၍ ကြားကာလကို တွက်ချက်ခြင်း ဖြစ်သည်။

ဥပမာ- သင်သည် 10:02 တွင် 5 မိနစ်တိုင်း run ရန် အလုပ်တစ်ခုကို သိမ်းပြီး enable လုပ်ပါက ၎င်းသည် 10:07 တွင် ပထမဆုံး လုပ်ဆောင်ပြီး နောက်တွင် 10:12 ဖြစ်မည်၊ standard clock ၏ 10:05 နှင့် ကိုက်ညီမည် မဟုတ်ပါ။