0
1066

Queue Job

Myo Thant Kyaw

jobs တွေကဘာတွေလည်း?

ဘယ်လိုနေရာတွေမှာသုံးရမှာလည်း

application တွေရဲ့ heavy process တွေဘယ်လိုထိမ်းသိမ်းမလည်း


hello အားလုံးမင်္ဂလာပါ 

ဒီနေ့ကျွန်တော်တို့ Background Job , Queue Job တွေအကြောင်းဆွေးနွေးကြရအောင်


website တွေ app တွေရေးတဲ့အခါများမှာ သာမန် app မျိုးက ပြသနာမရှိပေမဲ့

movie streaming လို app မျိုး

file sharing app မျိုးအစရှိသဖြင့်ဒီလို 

app တွေဖန်တီးတဲ့အခါမှာ တော့ နည်းနည်းပြသနာရှိလာပါပီ


movie streaming website မှာဆို movie တွေ server ပေါ်တင်ရပါတော့မယ်

programming language ဘက်နေကြည့်မယ်ဆိုရင် 

အနည်း ဆုံး 1gb လောက်ရှိတဲ့ဇာတ်ကားတစ်ကားကို language တွေက accept  မလုပ်ပါပါဘူး

ဆိုလိုတာတင်လို့မရဘူးပေါ့ဗျာ


နောက်ထပ် 1bg file ကိုတင်လို့ရတယ်ဆိုရင်

user က 1bg file တင်တဲ့အချိန်ကို ဘယ်မှမသွားဘာမှလုပ်မရ ပဲ ထိုင်

စောင့်နေရမှာပါ


အဲ့လိုပဲ file share site မှာ file တွေတင်ရင်လည်းအလားတူပါပဲ


နောက်ပြသနာတစ်ခုက 

1gb file တစ်ခုကို app user 1000 က တင်နေတယ်ဆိုရင်

ပြသနာကစပါပီ server ကလည်းကောင်းဖို့လိုသလို

မိနစ်ပိုင်းအတွင်း server bandwidth 1tb ram cpu 

အကုန်လုံး overload ဖြစ်လာမှာပါ

server ကောင်းကောင်း မဟုတ်ဘူးဆိုရင်ပေါ့

server ပါကျသွားမှာပါ။

(လမ်းကြောင်းတွေလဲွကုန်ပီ :P )


ဘယ်လိုဖြေရှင်းကြမလည်း

ခေါင်းစဉ်က jobတွေသုံးရမှာပါ 


queue job(queueလို့အလွယ်ရေးပါမယ်)

တွေက heavy time consume  heavy load features တွေကို

background မှာ run ပေးထားနိုင်ပါတယ်။

user က app ကိုပုံမှန်အတိုင်းသုံးနေနိုင်ပါတယ်။

1bg file  တင်ဖို့ကိစ္စကို jobတွေကမလုပ်ပေးပါဘူးနော် 


ဥပမာ 

movie streaming web app တစ်ခုမှာ video upload တင်မဲ့အပိုင်းကို

ရောက်နေတယ်ဆိုပါစို့

form ကနေ user က movie တစ်ကားရွေးလိုက်မယ်

upload button ကိုနှိပ်ပီဆိုတာနဲ့ job ထဲမှာသွားသိမ်းထားလိုက်ပါမယ်

1gb file ကို upload လုပ်ဖို့ file တွေကို 2mb or 1mb လောက်ဆီ chunk

လုပ်ပီးတော့သိမ်းရမယ်ပေါ့


ဒီ task တွေအကုန် job တစ်ခုထဲပို့ထားလိုက်ပါမယ်


job ကသူလုပ်စရာရှိတဲ့ 2mb or 1mb စီကို background မှာ  upload လုပ်ပေးနေပါလိမ့်မယ်

ဒါဆိုရင် user က upload လုပ်နေတာကိုထိုင်စောင့်နေစရာမလိုတော့ပါဘူး


ပိုပီး လုပ်ချင်တယ်ဆိုရင် websocket ကိုသုံးပီး job ပီးတာနဲ့

socket emit လုပ်ပီး task complete ဖြစ်ကြောင်း noti လေးပါပို့လိုက်ရင်တော့ရှယ်ပဲပေါ့ဗျာ။



အဓိကအားဖြင့် queue တွေကို အချိန်ကြာစေမဲ့ အလုပ်တွေရှိတဲ့အခါမျိုးမှာ

သုံးရမှာဖြစ်ပါတယ်

website user 1000 လောက်ကို email လှမ်းပို့ချင်တာမျိုးတွေပေါ့

အပေါ်ကလို large file upload လုပ်တာမျိုးတွေ

chat group user 100 လောက်ကို socket emit လုပ်တာမျိုးတွေပေါ့


ဒီလောက်ဆို  queue job တွေကဘာတွေဆိုတာ

အနည်းအကျဉ်းနားလည်သွားလောက်ပီလို့ယူဆပါတယ်

သက်ဆိုင်ရာ language မလိုက် queue တွေရှိပါတယ်။


see you next article guyz 👊

Comment:
Please Login To Create Comment Login
Loading...