အခမဲ့ Cron Expression တည်ဆောက်စက်
scheduled task များအတွက် cron expression ဆောက်၊ စစ်ဆေး နှင့် ရှင်းပြပါ။ Live ရိုးရိုး အင်္ဂလိပ် ဖော်ပြချက်၊ run ချိန် 5 ခု preview နှင့် common pattern preset 。
(0-59)နာရီ
(0-23)ရက်
(1-31)လ
(1-12)အလုပ်ရက်
(0-7)
ရိုးရှင်းသောဘာသာဖြင့်
၀၉:၀၀ တွင်, တနင်္လာမှ သောကြာ.
ဘုံပုံစံများ
Unix cron စံ၊ GitHub Actions၊ Kubernetes CronJob နှင့် အချိန်ဇယားစနစ်အများစုနှင့် ကိုက်ညီသည်။ ‘တိုင်း’ အတွက် *၊ ‘တိုင်း ၅’ အတွက် */5၊ အပိုင်းအခြားအတွက် 1-5၊ သီးသန့်တန်ဖိုးများအတွက် 1,15 ကို သုံးပါ။ လည်း @hourly, @daily, @weekly, @monthly, @yearly နှင့် MON-FRI သို့မဟုတ် JAN-DEC ကဲ့သို့သည့်အမည်များကိုလည်း လက်ခံသည်။
အသုံးများသော အသုံးပြုမှုများ
- GitHub Actions workflow များအတွက် Cron တည်ဆောက်ပါGitHub Actions သည် အချိန်ဇယားဆွဲထားသော workflow များအတွက် cron syntax ကို သုံးသည်။ သင့်အချိန်ဇယားကို ဤနေရာတွင် တည်ဆောက်စစ်ဆေးပါ။
- Kubernetes CronJob များအတွက် Cron တည်ဆောက်ပါKubernetes CronJob အရင်းအမြစ်များသည် စံ cron syntax ကို သုံးသည်။ expression ကို မြင်ကွင်းဖြင့် တည်ဆောက်ရှင်းပြပါ။
- Linux crontab အတွက် Cron ထည့်သွင်းမှုများ တည်ဆောက်ပါရိုးရာ Unix cron (cron, crontab -e) အတွက် expression များကို ယုံကြည်စိတ်ချစွာ တည်ဆောက်ပါ။
- ဒေတာဘေ့စ်ထိန်းသိမ်းမှုလုပ်ငန်းများကို အချိန်ဇယားဆွဲပါcron expression များဖြင့် backup၊ vacuum သို့မဟုတ် analyze လုပ်ငန်းများကို ယုံကြည်စိတ်ချစွာ အချိန်ဇယားဆွဲပါ။
- Cron expression များ မည်သို့အလုပ်လုပ်ကြောင်း လေ့လာပါပြင်ဆင်မှုတိုင်းတွင် ရိုးရှင်းသောဘာသာစကားဖြင့် ရှင်းလင်းချက်နှင့် နောက်လာမည့် ၅ ကြိမ်၏ ကြိုကြည့်မှုကို ချက်ချင်းပြသည် — cron သင်ယူရန် အကောင်းဆုံးနည်း။
မည်သို့ အလုပ်လုပ်သည်
Cron expression builder သည် lib/cron.ts ရှိ ကိုယ်တိုင်ရေးထားသော parser ကို သုံး၍ သင့် browser ထဲတွင် လုံးဝ လုပ်ဆောင်ပါသည် — ပြင်ပ library၊ server call မပါဝင်ပါ။ ၎င်းသည် expression ကို စစ်ဆေးပြီး locale-aware ရက်နှင့်လအမည်များအတွက် browser ၏ built-in Intl.DateTimeFormat နှင့် Intl.ListFormat API များကို သုံး၍ ရိုးရှင်းသော ဖော်ပြချက်တစ်ခု ပေါင်းစည်းကာ minute တိုင်းကို brute-force မလုပ်ဘဲ field-skipping logic ဖြင့် အချိန်ကို ရှေ့သို့ လျှောက်ခြင်းဖြင့် နောက်ဆုံး run schedule အချိန်များကို တွက်ချက်ပေးသည်။
- 1Expression ကို field-by-field parse လုပ်ထားသည်Parser သည် expression ကို whitespace ဖြင့် ခွဲထားသော field ငါးခု (သို့ ခြောက်ခု) အဖြစ် ခွဲပြီး comma၊ range (ဥပမာ 1-5)၊ step notation (ဥပမာ */15) နှင့် MON သို့မဟုတ် JAN ကဲ့သို့ အမည်တပ်ထားသော တန်ဖိုးများအတွက် token တစ်ခုစီကို tokenize လုပ်သည်။ @daily ကဲ့သို့ @macro များကို parse မလုပ်မီ ၎င်းတို့၏ field ငါးခု ညီမျှတန်ဖိုးများသို့ ချဲ့ထားသည်။ မမှန်ကန်သော တန်ဖိုးများ သို့မဟုတ် အပိုင်းအခြားပြင်ပ ဂဏန်းများသည် localize လုပ်ထားသော message များသို့ map လုပ်သော error key ရိုက်ထားသည်များအဖြစ် ပေါ်လာသည်။
- 2လူဖတ်ရလွယ်သော ဖော်ပြချက် ပေါင်းစည်းထားသည်lib/cron.ts ရှိ describeCron() သည် field များကို wildcard ဖြစ်၊ explicit set ဖြစ်ကို စစ်ဆေးခြင်းဖြင့် အင်္ဂလိပ် (သို့ localize လုပ်ထားသော) စာကြောင်းကို တည်ဆောက်သည်။ ရက်နှင့်လအမည်များကို active locale ပါသော Intl.DateTimeFormat မှတစ်ဆင့် ဖြေရှင်းပြီး list item များကို Intl.ListFormat ကို သုံး၍ ချိတ်ဆက်သည် — conjunction ('and' vs ',' vs locale-specific form) သည် user ၏ ဘာသာစကားနှင့် ကိုက်ညီစေရန်။
- 3Field skipping ဖြင့် Next run time များကို တွက်ချက်ထားသည်nextRuns() သည် Date object တစ်ခုကို လက်ရှိအချိန်မှ ရှေ့သို့ လျှောက်သည်၊ သို့သော် minute တိုင်းကို စမ်းသပ်မည့်အစား ကိုက်ညီမည် မဟုတ်သော လ၊ ရက် သို့မဟုတ် နာရီအပြည့်များကို ကျော်လိုက်သည်။ ၎င်းသည် Feb 30 ကဲ့သို့ မဖြစ်နိုင်သော schedule တစ်ခုသည် 2.6 သန်းကြိမ် loop ဖွင့်မည့်အစား ငါးနှစ် horizon စစ်ဆေးမှုတစ်ခုမှတစ်ဆင့် လျင်မြန်စွာ ထွက်သည်ဟု ဆိုလိုသည်။
- 4Expression ကို URL fragment မှတစ်ဆင့် မျှဝေထားသည်သင်ရိုက်ထည့်သော expression မည်သည်ကိုမဆို စာမျက်နှာ URL fragment ထဲသို့ #expr= အဖြစ် ရေးသွင်းသည် (window.history.replaceState မှတစ်ဆင့် 500 ms debounce ပြုလုပ်ထားသည်)။ Fragment ကို server သို့ ဘယ်တော့မှ မပို့ပါ၊ စာမျက်နှာသည် ၎င်းမှ load လုပ်စဉ် hydrate ဖြစ်သည်၊ ထို့ကြောင့် URL တစ်ခုကို မျှဝေခြင်း (သို့) bookmark လုပ်ခြင်းသည် server state မလိုဘဲ အတိအကျ expression ကို ပြန်ယူပေးသည်။
ဆက်နွှယ်သော ကိရိယာများ
Cron Expression ရှင်းပြစက်
မည်သည့် cron expression ကိုမဆို ရိုးရိုး အင်္ဂလိပ်သို့ ဘာသာပြန်ပြီး နောက်ထပ် run ချိန်များ ကြည့်ပါ။ range, list, step, အမည် နှင့် @macro များ ပံ့ပိုးသည်။ browser တွင် အလုပ်လုပ်သည်။
EMI တွက်ချက်ကိရိယာ
လျှော့ချထားသော balance အခြေခံအပေါ် သင့်လစ်သည့် EMI တွက်ချက်ပါ ၊ အပြည့်အစုံ amortization အစီအမံ၊ အဓိကမြဆံ vs အကျိုးအစီ ကွဲပြားမှု နှင့် prepayment သိမ်းခွင်း ၊ အိန္ဒိယ ငွေ ပုံစံ တွင် ပုံစံလေ့ကျင့်။
ကိုယ်ရေးအကျ ချေးငွေ ဂဏန်းတွက်စက်
သတ်မှတ်ထားသောအတိုးနှုန်းဖြင့် သုံးသပ်ချေးငွေများအတွက် လစ်စဉ်ငွေချေး၊ စုစုပေါင်းအတိုး၊ အပြည့်အစုံကျေးဇူးသုံးချ နှင့် ငွေချေးချိန်ကို တွက်ချက်သည်။