BullMQ là hàng đợi công việc cho Node.js, dùng Redis để lưu trạng thái. Để quyết định có phù hợp hay không, hãy bắt đầu từ công việc có thể hoàn thành sau khi HTTP đã trả lời và cần theo dõi hoặc retry.
Lấy ví dụ xuất báo cáo lớn. Tạo báo cáo ngay trong request có thể khiến người dùng chờ đến khi timeout. Queue cho phép ứng dụng nhận việc, trả job ID rồi xử lý riêng.
1. Hiểu điều gì thay đổi khi đưa việc vào queue
[User] -> [API: submit job] -> [Redis / BullMQ] -> [Worker]
| |
[Return job ID] [Saved report]
