လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Yii2 Cron Service Configuration နှင့် Development Development: Time Task Management ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်

Yii2 Cron Service Configuration နှင့် Development Development: Time Task Management ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်

gitbox 2025-06-13

Cron 0 န်ဆောင်မှုဆိုတာဘာလဲ

Cron 0 န်ဆောင်မှုသည်အလုပ်များကိုပုံမှန်လုပ်ဆောင်ရန်ကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ပရိုဂရမ်များကိုသတ်မှတ်ထားသောအချိန်ကာလများအရအချို့သောလုပ်ငန်းများကိုအလိုအလျောက်အကောင်အထည်ဖော်ရန်ခွင့်ပြုသည်။ Yii2 တွင် Yii2Tech / Cron Extension Package ကို install လုပ်ခြင်းဖြင့် Cron 0 န်ဆောင်မှုလုပ်ငန်းများကိုအကောင်အထည်ဖော်နိုင်သည်။ ဤချဲ့ထွင်မှုအစီအစဉ်သည် YII2 ၏ console application မှစီစဉ်ထားသော cron task များကိုကွပ်မျက်ရန်စီစဉ်ထားပြီး,

Yii2Tech / Cron Extension Package ကို Install လုပ်နည်း

ပထမ ဦး စွာကျွန်ုပ်တို့သည် Yii2Tech / Cron Extension Package ကို install လုပ်ရန်တေးရေးဆရာကိုအသုံးပြုရန်လိုအပ်သည်။

 composer require yii2tech/cron

installation ပြီးပြည့်စုံပြီးတဲ့နောက်တိုးချဲ့မှုအထုပ်ကိုဖွင့်ဖို့ console application ကို configure လုပ်ဖို့လိုအပ်လိမ့်မယ်။ ဒီနေရာမှာ configuration stepings:

အဆင့် 1 - Yii2 console application ကိုဖန်တီးပါ

စီမံကိန်း root directory ကိုသွားပြီးအောက်ပါ command ကို သုံး. console application တစ်ခုဖန်တီးပါ။

 php yii2-app console

Conon Tasks များကိုပြုလုပ်ရန် console ဟုခေါ်သောစီမံကိန်းတွင် console application တစ်ခုပြုလုပ်သည်။

အဆင့် 2: Yii2Tech / Cron Extension Package ကို configure လုပ်ပါ

console application ၏ configuration file တစ်ခုတွင်ကျွန်ုပ်တို့သည် `console / config / main.php`. ဖိုဖိုင်တွင်အောက်ပါတို့ကိုထည့်သွင်းပါ။

 return [
    //...
    'controllerMap' => [
        //...
        'cron' => \yii2tech\crontab\CronController::class,
    ],
    'components' => [
        'crontab' => [
            'class' => \yii2tech\crontab\CronTab::class,
            'crontabFile' => '@app/config/crontab',
        ],
    ],
];

ဤကုဒ်တွင် Yii2tech / Cron Extension Package မှ `cron` cron element ကို confricymar` cron` element ကို configure လုပ်ထားသည့် cronontontroller ကို enable လုပ်ပါ။ တစ်ချိန်တည်းမှာပင်ကျွန်ုပ်တို့သည် Cron Task ScheduSing File ၏တည်နေရာကိုသတ်မှတ်သည့် `crontab` ဟူသောအမည်ရှိအစိတ်အပိုင်းတစ်ခုကိုလည်းပြင်ဆင်သည်။

Cron 0 န်ဆောင်မှုကိုဘယ်လိုရေးရမလဲ

Extension Package ၏ installation နှင့် configuration ကိုပြီးဆုံးပြီးနောက် Cron Task ကိုစတင်ရေးသားနိုင်သည်။ တိကျသောအဆင့်များမှာအောက်ပါအတိုင်းဖြစ်သည် -

အဆင့် 1 - Cron Tasks ကိုသတ်မှတ်ပါ

Yii2 တွင် Cron Task တစ်ခုကိုသတ်မှတ်ခြင်းသည်ရိုးရှင်းပါသည်, `yii2tech \ crontab \ cronjob ၏အတန်းမှအမွေဆက်ခံသောအလုပ်သင်တစ်ရပ်ကိုသာဖန်တီးပါ။ ဥပမာအားဖြင့်:

 class ClearLogs extends yii2tech\crontab\CronJob
{
    public function getSchedule()
    {
        return '0 * * * *';  // နာရီ0မိနစ်ကြာ
    }

    public function run()
    {
        Yii::info('Cronလုပ်ငန်းကပြေးနေတယ်');
        $logPath = 'logs/*.log';
        array_map('unlink', glob($logPath));  // အားလုံးကိုဖျက်ပစ်ပါ.logစာချုပ်စာတမ်း
    }
}

အထက်ဖော်ပြပါကုဒ်သည် `clearlogs` ဟုခေါ်သော cron task ကိုသတ်မှတ်သည်။ ၎င်းသည် 0 နာရီ၏ 0 မ်နည်းမိနစ်တွင်ဖွင့ ်. ` `lag folder အောက်ရှိ` `folder အောက်ရှိ` lag folder အားလုံးကိုဖျက်ပစ်ပါ။

အဆင့် 2 - Cron Tasks ကို Cron 0 န်ဆောင်မှုကိုထည့်ပါ

အလုပ်ကိုရေးပြီးပါကကျွန်ုပ်တို့သည်လုပ်ငန်းကို cron 0 န်ဆောင်မှုသို့ configure လုပ်ရန်လိုအပ်သည်။ အောက်ပါအတိုင်းအဆင့်များမှာ -

Subep 1: cron configuration file ကိုရေးပါ

`console / config` directory တွင်` crontab` အမည်ရှိဖိုင်တစ်ခုကို ဖန်တီး. cron tasks များကိုထည့်သွင်းခြင်းနှင့်သတင်းအချက်အလက်များကိုစီစဉ်ခြင်း။ အောက်တွင်ဖော်ပြထားသည့်အတိုင်း:

 # crontab ပမာဏ:
# * * * * * အမိန့်
# ဘယ်လိုသုံးရမလဲ:
# {schedule} {command}
# နာရီတိုင်းမှာသန့်ရှင်းရေးမှတ်တမ်းများ
0 * * * * php {yii} clear-logs
# နေ့တိုင်း3:00cache ကိုရှင်းရှင်းလင်းလင်း
0 3 * * * php {yii} cache/flush-all

ဤဖိုင်၌ `clearlogs` task task နှင့်အခြားအလုပ်များအတွက်အချိန်ဇယားအချိန်ကိုပြင်ဆင်ပါ။

Subep 2: cron ဝန်ဆောင်မှုကို run ပါ

Configuration ကိုပြီးဆုံးပြီးနောက် Cron 0 န်ဆောင်မှုကို စတင်. အချိန်ကာလကိုစတင်လုပ်ဆောင်နိုင်သည်။ command line တွင်စီမံကိန်း root directory သို့သွားပြီးအောက်ပါ command ကို run ပါ။

 php yii cron

ဤအချိန်တွင် Cron Task ကိုနောက်ခံတွင်စီစဉ်ထားသည့်အတိုင်းကွပ်မျက်ခံရလိမ့်မည်။

အကျဉ်းချုပ်

Cron 0 န်ဆောင်မှုသည် developer များကအလုပ်များကိုအလိုအလျောက်အလုပ်များပြီးအချိန်နှင့်အားစိုက်ထုတ်ရန်ကူညီပေးသောအလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။ Yii2 မူဘောင်တွင် `Yii2Tech / Cron's extension package မှတဆင့် cron 0 န်ဆောင်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်ပြီးအမျိုးမျိုးသောအလုပ်များကိုပုံမှန်ပြုလုပ်နိုင်သည်။ ဤချဉ်းကပ်နည်းသည်သင့်အားဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုတိုးတက်စေရန်နှင့်ထပ်တလဲလဲစစ်ဆင်ရေးများကိုလျှော့ချနိုင်သည်။ ဒီဆောင်းပါးကသင့်ကိုကူညီလိမ့်မယ်လို့မျှော်လင့်ပါတယ်။