ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်းပြတ်ပြတ်သားသားလုပ်ဆောင်မှုသည်အချိန်ကုန်စားသုံးသည့်အလုပ်များကိုရင်ဆိုင်ရသောအခါအစီအစဉ်စွမ်းဆောင်ရည်နှင့်တုန့်ပြန်မှုမြန်နှုန်းကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။ လုပ်ငန်းများဖြန့်ဖြူးခြင်းနှင့်ပြုပြင်ခြင်းများကိုနားလည်သဘောပေါက်ရန် PHP သည် open source fail Manager System Gearman ကိုသုံးနိုင်သည်။ ဤဆောင်းပါးသည် Gearman installation, configuration နှင့်လျှောက်လွှာများကိုအလုပ်ဖြန့်ဖြူးခြင်းနည်းလမ်းများအားမြန်ဆန်စွာကျွမ်းကျင်စေရန်ကူညီပေးပါမည်။
ပထမ ဦး စွာ Gearman extension ကို install လုပ်ရန်လိုအပ်သည်။ အောက်ပါ command ကို execute လုပ်ရန် pecl tool ကိုသုံးနိုင်သည်။
<span class="fun">PECL GEARMANGE</span>
တပ်ဆင်ပြီးသည်နှင့်ပြီးဆုံးပါက Extension ကြေငြာချက်ကို php.ini ဖိုင်တွင်ထည့်ပါ။
<span class="fun">extension = gearman.so</span>
Gearman သည်ဆာဗာဘက်ကိုလက်ခံရန်နှင့်အချိန်ဇယားဆွဲရန်လိုအပ်သည်။ Gearman Server ကိုအောက်ပါ command ဖြင့်စတင်ပါ။
<span class="fun">Gearmand --Daemon</span>
ပုံမှန်အားဖြင့် Gearman Server သည် localhost ၏ port 4730 ကိုနားထောင်သည်။
PHP တွင် Gearmanclient Class မှတစ်ဆင့်အလုပ်ဖြန့်ချိသူတစ် ဦး ကိုဖန်တီးပါ။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$client = new GearmanClient();
$client->addServer(); // ပုံမှန်ဆက်သွယ်မှုlocalhost:4730
// အလုပ်တစ်ခုထည့်ပါ
$client->addTask('my_task', 'my_data');
// အလုပ်တစ်ခုကိုတင်ပါ
$client->runTasks();
code တွင်ဂီယာမှအရာဝတ်ထုကိုဖန်တီးပြီး Gearman Server သည်ပုံမှန်အားဖြင့်ချိတ်ဆက်ထားသည်။ Addtask Method မှတစ်ဆင့်အလုပ်တစ်ခုကို "My_Task" ဟုခေါ်သည်။ Data သည် my_data ဟုခေါ်သည်။
Task Handlers သည် Gearmanworker လူတန်းစားကို အသုံးပြု. အောက်ပါအတိုင်းသင်္ကေတများများကိုအောက်ပါအတိုင်းဖန်တီးရန်ဖြစ်သည်။
$worker = new GearmanWorker();
$worker->addServer(); // ပုံမှန်ဆက်သွယ်မှုlocalhost:4730
// Task Handling Functions ကိုမှတ်ပုံတင်ပါ
$worker->addFunction('my_task', 'my_task_handler');
// အလုပ်စောင့်ကြည့်လေ့လာခြင်းစတင်ပါ
while ($worker->work());
// အလုပ်ကိုင်တွယ်ဖြေရှင်းခြင်း
function my_task_handler($job) {
$data = $job->workload();
// အပြောင်းအလဲနဲ့ task ကိုယုတ္တိဗေဒ
return $result;
}
အထက်ပါကုဒ်တွင် Gearmanwareer Object သည် "my_task_handler" ကိုဖွင့်ပြီး task processing function ကို Regupers လုပ်ပြီး client မှပေးပို့သော "my_task" task ကိုနားထောင်ရန်နှင့်လုပ်ငန်းဆောင်သည်။ လုပ်ငန်းဒေတာကို $ အလုပ်ခွင် - 0 န်ဆောင်မှုပေးခြင်း () လုပ်ငန်းများမှရရှိသောကြောင့်အပြောင်းအလဲပြီးစီးပြီးနောက်ရလဒ်ကိုပြန်လည်ရရှိခဲ့သည်။
Gearman extension installation နှင့် processor countion နှင့်နမူနာကုဒ်များအပါအ 0 င် PPP asynchronous task ဖြန့်ဝေမှုကိုအကောင်အထည်ဖော်ရန်ဤဆောင်းပါးသည် Gearman ကို အသုံးပြု. မိတ်ဆက်ပေးသည်။ Gearman သည်အချိန်ကုန်စေသောအလုပ်များကိုနှင့်အညီဆက်သွယ်ရေးလုပ်ငန်းများ,
Gearman Task Queue ၏ဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည် PHP applications များကိုပိုမိုထိရောက်စွာဖြည့်ဆည်းပေးနိုင်သည်။