အင်တာနက်စနစ်များ၏အတိုင်းအတာသည်ဆက်လက်တိုးချဲ့နေစဉ်တွင်နောက်ခံ 0 န်ဆောင်မှုများသည်မက်ဆေ့ခ်ျအလုပ်များကိုတစ်ချိန်တည်းတွင်ကိုင်တွယ်ရန်လိုအပ်သည်။ တစ်ပြိုင်နက်တည်းစွမ်းဆောင်ရည်ကိုစနစ်ပိတ်ဆို့ခြင်းနှင့်တိုးတက်စေရန်အတွက်စနစ်ကိုဖြည့်ဆည်းခြင်းနှင့်တိုးတက်စေရန်အတွက် Queue ယန္တရားကိုမိတ်ဆက်ပေးနိုင်ရန်အတွက်ဘုံဖြေရှင်းချက်တစ်ခုဖြစ်လာသည်။ Message Queue Tagn နည်းပညာနှင့်ပေါင်းစပ်ထားသော PHP သည် Task allynchronous နှင့်ထိရောက်သောပြုပြင်ထုတ်လုပ်ခြင်းကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်ပြီးစနစ်တည်ငြိမ်မှုနှင့်တုံ့ပြန်မှုမြန်နှုန်းသိသိသာသာတိုးတက်လာသည်။
လက်ရှိတွင် Beanstalkd, Redis Quisbismq စသဖြင့် PHP ဂေဟစနစ်တွင်ရင့်ကျက်သော Queue Systems တွင်ရရှိနိုင်သည့်ရင့်ကျက်သော Queue Systems အမျိုးမျိုးရှိပါသည်။ ဤဆောင်းပါးသည်တိကျသောအကောင်အထည်ဖော်မှုအဆင့်များကိုရှင်းပြရန် Pheanstalk စာကြည့်တိုက်နှင့်ပေါင်းစပ်ထားသော Beanstalkd ကိုအသုံးပြုပါမည်။
ဆာဗာတွင် Beanstalkd ကိုတပ်ဆင်ပြီးနောက် 0 န်ဆောင်မှုကိုစတင်ပါ။ ၎င်းကိုရရှိနိုင်လိမ့်မည်။
sudo apt-get install beanstalkd install Sudo ဝန်ဆောင်မှု Beanstalkd စတင်
အောင်မြင်သော startup ပြီးနောက် Beanstalka သည် Port 127.0.0.1:11300 ကိုပုံမှန်အားဖြင့်နားထောင်သည်။
Project root directory တွင် composer.json ဖိုင်တစ်ခု ဖန်တီး. အောက်ပါအကြောင်းအရာများကိုထည့်ပါ။
{
"တောင်းဆို": {
"PDA / PHANEANSTALK": "^ 3.1"
}
}ထို့နောက်မှီခိုအားထားရန်အောက်ပါ command ကို execute:
တေးရေးဆရာ install လုပ်ပါ
ထည့်သွင်းပြီးသည်နှင့်တစ်ပြိုင်နက်အောက်ပါနမူနာကုဒ်ကို အသုံးပြု. Beanstalkd ကိုဆက်သွယ်နိုင်သည်။
quant_once 'ရောင်းချသူ / autoload.php'; phanstalk \ phancestalk ကိုသုံးပါ။ $ pheanstalk = phanstalk ::: '' create ('127.0.0.1');
ဤအချိန်တွင် PHP အစီအစဉ်သည် Queue 0 န်ဆောင်မှုနှင့်အောင်မြင်စွာဆက်သွယ်နိုင်ခဲ့သည်။
ဖြစ်ရပ်များကို Usnchronously ကိုလုပ်ဆောင်ရန်လိုအပ်သည့်လုပ်ငန်းများကို JSON format ရှိတန်းစီသို့တွန်းပို့နိုင်သည်။
$ ဒေတာ = [
'Message' => 'Hello, World!'
];
$ pheanstalk-> Usetube ('My-Tube') -> ထည့်သွင်းခြင်း (json_entode ($ ဒေတာ));ဤဥပမာသည် JSON string ကိုမက်ဆေ့ခ်ျ၏ contents ကို My-Tube အမည်ရှိ Queue သို့ပါ 0 င်သည်။
စားသုံးသူသည်လူတန်းစားမှမက်ဆေ့ခ်ျများကိုဖယ်ရှားခြင်းနှင့်သက်ဆိုင်ရာယုတ္တိဗေဒဆိုင်ရာကွပ်မျက်ခြင်းအတွက်တာဝန်ရှိသည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
quant_once 'ရောင်းချသူ / autoload.php';
phanstalk \ phancestalk ကိုသုံးပါ။
$ pheanstalk = phanstalk ::: '' create ('127.0.0.1');
နေစဉ် (စစ်မှန်တဲ့) {
$ Job = $ phanstalk-> Watch ('My-Tube') -> Reserve (),
$ ဒေတာ = JSONS_Decode ($ အလုပ် -> GetData (), စစ်မှန်သော);
// လုပ်ငန်းစဉ်သတင်းစကားအချက်အလက် ECHO $ ဒေတာ ['message'] ။ "\ n";
// ပြုပြင်ထားသော Message ကို Femeletalk-> Delete ($ အလုပ်) ကိုဖျက်ပါ။
}ဤ script သည်သတ်မှတ်ထားသောတန်းစီကိုဆက်လက်စောင့်ကြည့်လေ့လာလိမ့်မည်။ လုပ်ငန်းသစ်တစ်ခုရှိလျှင်၎င်းကိုချက်ချင်းကွပ်မျက်ခံရလိမ့်မည်။
PHP ကို BEANSTALKD QUEARE စနစ်နှင့်ပေါင်းစပ်ထားသော PHP ကိုအသုံးပြုခြင်းသည်မက်ဆေ့ခ်ျပြုပြင်ခြင်းနှင့်စနစ်တုံ့ပြန်မှုမြန်နှုန်းကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ Pheanstalk စာကြည့်တိုက်၏ရိုးရှင်းသော encapsulation များမှတဆင့် developer များသည် task asynchronousization, မက်ဆေ့ခ်ျဖြန့်ဝေခြင်းနှင့်နောက်ခံအပြောင်းအလဲများကိုလျင်မြန်စွာအကောင်အထည်ဖော်နိုင်သည်။ Log Collection, အီးမေးလ်ပို့ခြင်း, အမိန့်ထုတ်ယူခြင်းသို့မဟုတ်ဒေတာထပ်တူပြုခြင်းဖြစ်စေ,