Automasi Workflow Bisnes Dengan Laravel Events & Queues
Published:
Updated:
Dalam bisnes, workflow tu macam “after this, then apa next?”. Saya suka panggil ni the flow. Contohnya bila ada order baru, lepas tu apa langkah seterusnya – email customer, update stok, atau trigger komisen.
Events – trigger apa yang perlu berlaku. Contoh: hantar email bila order baru masuk. Kat Laravel, simple je:
$order = Order::create([
'name'=>'Hamizulfaiz',
'phone'=>'0123456789',
'subtotal'=>80,
'delivery'=>20,
'total'=>100,
'status'=>'new-order'
]);
event(new NewOrderEvent($order)); // trigger order event kat sini
Queues pula untuk kerja yang berat, usually background process. Contoh: proses komisen setiap level. Dengan queue, server tak tersekat, workflow tetap smooth:
Member::where('status', 'active')->chunkById(100, function ($members) {
foreach ($members as $member) {
ProcessCommissionJob::dispatch($member); // dispatch job queue kat sini
}
});
Kenapa kita guna Events & Queues? Simple je:
-
Elak server terbeban – kalau ada proses berat, terus run dalam background. Server pun tak hang.
-
Pengalaman user smooth – visitor tak payah tunggu proses siap. Page load tetap laju.
Contohnya, kalau nak kirakan komisen semua member, kalau buat direct kat request biasa, browser customer akan loading lama. Dengan queue, Laravel handle secara background, workflow jalan, customer happy, server rasa ringan.
Kesimpulan:
Dengan gabungan events & queues, workflow bisnes anda jadi automatik, smooth, dan boleh scale tanpa pening kepala. Lepas ni, fokus je pada bisnes, Laravel uruskan flow untuk anda.