Cron Expression ၏ အစိတ်အပိုင်းများကို နားလည်ခြင်း
Cron ဖော်ပြချက် သည် သတ်မှတ်ထားသော အချိန်အပိုင်းအခြားအလိုက် လုပ်ဆောင်ရမည့် လုပ်ငန်းစဉ်များကို အလိုအလျောက် စီမံခန့်ခွဲရန် အသုံးပြုသည့် စာသားပုံစံစနစ် ဖြစ်သည်။ ဤကိရိယာသည် standard 5-field cron expression စနစ်ကို အသုံးပြုထားပြီး အစိတ်အပိုင်းတစ်ခုချင်းစီကို အောက်ပါအတိုင်း ခွဲခြမ်းစိတ်ဖြာပေးသည် -
- မိနစ်: မိနစ်ပိုင်းဆိုင်ရာ သတ်မှတ်ချက်။
- နာရီ (Hour): နာရီပိုင်းဆိုင်ရာ သတ်မှတ်ချက်။
- လ၏ ရက်စွဲ: လတစ်လချင်းစီ၏ ရက်စွဲ သတ်မှတ်ချက်။
- လ: တစ်နှစ်တာ၏ လပိုင်းဆိုင်ရာ သတ်မှတ်ချက်။
- ပတ်၏ နေ့ရက်: တစ်ပတ်တာ၏ နေ့ရက် သတ်မှတ်ချက်။
ဤကိရိယာသည် standard 5-field cron syntax နှင့် @yearly၊ @monthly၊ @weekly၊ @daily၊ @hourly စသည့် ဖြတ်လမ်းများကို ထောက်ပံ့ပေးသည်။ သို့သော် ဆဋ္ဌမမြောက် field ဖြစ်သော "စက္ကန့်" (seconds) သတ်မှတ်ချက်နှင့် Quartz-specific extensions များဖြစ်သည့် L၊ W၊ # တို့ကို ထောက်ပံ့ပေးခြင်း မရှိပါ။
အသုံးပြုနိုင်သော ပုံစံများနှင့် နမူနာတန်ဖိုးများ
Cron ဖော်ပြချက် ရေးသားရာတွင် အောက်ပါပုံစံများကို အသုံးပြုနိုင်သည် -
- Ranges:
1-5ကဲ့သို့သော အတိုင်းအတာများ။ - Steps:
*/15ကဲ့သို့သော အဆင့်ကျော်တန်ဖိုးများ။ - Lists:
1,15ကဲ့သို့သော စာရင်းတန်ဖိုးများ။ - Named Months:
JANကဲ့သို့သော အမည်ပေးထားသည့် လများ။ - Named Weekdays:
MONကဲ့သို့သော အမည်ပေးထားသည့် ရက်များ။
နမူနာထည့်သွင်းမှုတန်ဖိုးအဖြစ် */15 9-17 * * MON-FRI ကို အသုံးပြု၍ စမ်းသပ်နိုင်သည်။
အချိန်ဇယား သတ်မှတ်ခြင်းဆိုင်ရာ စည်းမျဉ်းများနှင့် ထူးခြားချက်များ
Cron ဖော်ပြချက် ရေးသားရာတွင် လ၏ ရက်စွဲ (day-of-month) နှင့် ပတ်၏ နေ့ရက် (day-of-week) နှစ်ခုလုံးကို ကန့်သတ်ထားပါက (တန်ဖိုးမှာ * မဟုတ်လျှင်) ၎င်းတို့အနက် တစ်ခုခုနှင့် ကိုက်ညီရုံမျှဖြင့် အချိန်ဇယားသည် အလုပ်လုပ်မည် ဖြစ်သည်။
ထို့အပြင် */n ပုံစံများအတွက် အသေးစိတ်ပြသရာတွင် အောက်ပါအတိုင်း ဖော်ပြပေးမည် ဖြစ်သည် -
- မိနစ်အတွက်:
{n} မိနစ်လျှင်တစ်ကြိမ် - နာရီအတွက်:
{n} နာရီလျှင်တစ်ကြိမ် - လ၏ ရက်စွဲအတွက်:
{n} ရက်လျှင်တစ်ကြိမ် - လအတွက်:
{n} လလျှင်တစ်ကြိမ် - ပတ်၏ နေ့ရက်အတွက်:
{n} ရက်လျှင်တစ်ကြိမ်
မည်သည့်တန်ဖိုးမဆို ဖြစ်နိုင်သည့် * သင်္ကေတကို "မည်သည့်မဆို" ဟု ပြသပေးမည် ဖြစ်သည်။
အမှားပြင်ဆင်ခြင်းနှင့် စစ်ဆေးခြင်းဆိုင်ရာ အချက်ပြမှုများ
ထည့်သွင်းလိုက်သော cron expression အပေါ် မူတည်၍ ကိရိယာသည် အောက်ပါအခြေအနေများကို အလိုအလျောက် စစ်ဆေးပေးသည် -
- အချက်အလက် မရှိခြင်း: ထည့်သွင်းမှု ကွက်လပ်ဖြစ်နေပါက ကိရိယာသည် "ခွဲခြမ်းစိတ်ဖြာရန် cron expression တစ်ခု ထည့်သွင်းပါ။" ဟူသော အဆင်သင့်အခြေအနေသို့ ပြန်သွားမည် ဖြစ်သည်။
- မှားယွင်းသော Syntax: ရေးသားပုံစနစ် မှားယွင်းနေပါက "မမှန်ကန်သော cron expression ဖြစ်သည်။" ဟု ပြသမည် ဖြစ်သည်။
- မဖြစ်နိုင်သော အချိန်ဇယား: ရေးသားမှု မှန်ကန်သော်လည်း လက်တွေ့တွင် မည်သည့်အခါမျှ ဖြစ်မလာနိုင်သော အချိန်ဇယားမျိုးအတွက် "ဤအချိန်ဇယားသည် မည်သည့်အခါမျှ ဖြစ်မလာနိုင်ပါ — ရွေးချယ်ထားသော လအားလုံးတွင် မရှိနိုင်သော ရက်စွဲမျိုး ဖြစ်နေခြင်း ရှိမရှိ စစ်ဆေးပါ။" ဟု အသိပေးမည် ဖြစ်သည်။ ဥပမာအားဖြင့် ဧပြီ၊ ဇွန်၊ စက်တင်ဘာ သို့မဟုတ် နိုဝင်ဘာလများ ပါဝင်နေပြီး လ၏ ရက်စွဲကို 31 ရက်ဟု သတ်မှတ်ထားခြင်းမျိုး ဖြစ်သည်။
ကိုယ်ရေးအချက်အလက် လုံခြုံမှုနှင့် လုပ်ဆောင်ပုံစနစ်
သင်ထည့်သွင်းလိုက်သော cron expression များကို ခွဲခြမ်းစိတ်ဖြာခြင်း လုပ်ငန်းစဉ်အားလုံးသည် သင့်စက်ပစ္စည်းပေါ်ရှိ ဘရောက်ဇာထဲတွင်သာ တိုက်ရိုက်လုပ်ဆောင်ခြင်း ဖြစ်သည်။ မည်သည့်အချက်အလက်ကိုမျှ BroBroGo ဆာဗာသို့ ပေးပို့ခြင်း မရှိပါ။
အမေးများသော မေးခွန်းများ (FAQ)
မေး - ဤကိရိယာသည် မည်သည့် cron syntax ကို ထောက်ပံ့ပေးသနည်း။
ဖြေ - Standard 5-field cron ဖြစ်သော — မိနစ်၊ နာရီ၊ လ၏ရက်စွဲ၊ လ၊ ပတ်၏နေ့ရက် — အပြင် ranges (1-5)၊ steps (*/15)၊ lists (1,15)၊ အမည်ပေးထားသော လနှင့် ရက်များ (JAN, MON) နှင့် @yearly/@monthly/@weekly/@daily/@hourly ဖြတ်လမ်းများကို ထောက်ပံ့ပေးထားသည်။
မေး - နောက်တစ်ကြိမ် လုပ်ဆောင်မည့်အချိန်များကို မည်သည့်စံတော်ချိန်ဖြင့် ပြသသနည်း။
ဖြေ - သင့်ဘရောက်ဇာ၏ ဒေသစံတော်ချိန် (သင့်စက်ပစ္စည်း၏ နာရီစံတော်ချိန်) အတိုင်း ပြသပေးခြင်း ဖြစ်သည်။ Standard cron တွင် ကိုယ်ပိုင်စံတော်ချိန် မပါရှိဘဲ ၎င်းကို လုပ်ဆောင်မည့် job scheduler ကသာ ဆုံးဖြတ်ပေးခြင်း ဖြစ်သည်။
မေး - ဤအချိန်ဇယားသည် မည်သည့်အခါမျှ ဖြစ်မလာနိုင်ဟု အဘယ်ကြောင့် ပြသနေသနည်း။
ဖြေ - ပုံမှန်အားဖြင့် ရွေးချယ်ထားသော လအားလုံးတွင် မရှိနိုင်သော ရက်စွဲမျိုး ဖြစ်နေတတ်သောကြောင့် ဖြစ်ပါသည် — ဥပမာ ဧပြီ၊ ဇွန်၊ စက်တင်ဘာ သို့မဟုတ် နိုဝင်ဘာလများတွင် ၃၁ ရက်နေ့ကို ရွေးချယ်ထားခြင်းမျိုး။ လအားလုံးတွင် ရှိနိုင်သော ရက်စွဲကို ရွေးချယ်ပါ သို့မဟုတ် အချိန်ဇယားကို သီးခြားခွဲထုတ်လိုက်ပါ။