Message Queue پیامها را تا زمان پردازش نگهداری میکند. برنامه میتواند کار زمانبر مانند ارسال ایمیل را در صف قرار دهد و سریعتر به درخواست HTTP پاسخ دهد.
تکرار پیام، ترتیب اجرا، Retry و شکست Job باید مدیریت شوند. پردازشگر بهتر است در برابر دریافت دوباره پیام مقاوم باشد.
اگر ارسال ایمیل به صف سپرده شود، پاسخ HTTP سریعتر میشود. بااینحال شکست Worker یا دریافت دوباره پیام باید مدیریت شود.
در همین واژهنامه، مسیج بروکر و ورکر از مفاهیم مرتبط هستند.
نمونه ارسال Job به صف
// Laravel
SendReceipt::dispatch($order->id)->onQueue('notifications');
انتقال Job به صف به معنی اجرای قطعی یکباره نیست. ممکن است پیام پس از Timeout دوباره دریافت شود، پس Worker باید از تکرار اثر تجاری جلوگیری کند.