
Hàng đợi với Bull
Bull queues, processors, jobs, jobs trì hoãn, độ ưu tiên, retries, sự kiện
1Bull là gì trong ngữ cảnh của NestJS?
Bull là gì trong ngữ cảnh của NestJS?
Câu trả lời
Bull là một thư viện Node.js để quản lý các hàng đợi (queues) bền vững dựa trên Redis. Nó cho phép thực thi các tác vụ nền một cách bất đồng bộ, xử lý độ ưu tiên, retries và delayed jobs. NestJS cung cấp một module @nestjs/bull tích hợp Bull một cách native vào kiến trúc module của framework, giúp dễ dàng tạo workers và quản lý các jobs nặng hoặc chạy lâu.
2Vai trò của một processor trong Bull là gì?
Vai trò của một processor trong Bull là gì?
Câu trả lời
Một processor là một hàm xử lý các jobs từ một queue. Khi một job được thêm vào queue, Bull tự động gọi processor tương ứng để thực thi logic nghiệp vụ. processor nhận job làm tham số và có thể truy cập dữ liệu qua job.data. Nó có thể đồng bộ hoặc bất đồng bộ và phải trả về một giá trị hoặc Promise để báo hiệu job đã hoàn thành.
3Làm thế nào để thêm một job vào queue Bull trong NestJS?
Làm thế nào để thêm một job vào queue Bull trong NestJS?
Câu trả lời
Để thêm một job, hãy inject queue qua @InjectQueue('queueName') rồi sử dụng phương thức add(). Phương thức này nhận các tham số tùy chọn: tên job, dữ liệu cần xử lý (payload) và các tùy chọn như delay, priority, attempts. Phương thức trả về một Promise chứa job đã tạo cùng với ID duy nhất của nó, cho phép theo dõi hoặc thao tác sau này.
Chức năng của Redis trong kiến trúc của Bull là gì?
Làm thế nào để định nghĩa một delayed job trong Bull?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Node.js / NestJS khác
Kiến thức cơ bản về Node.js
API lõi Node.js
Lập trình bất đồng bộ
Cơ bản về Express.js
Nền tảng NestJS
Thiết kế REST API
Validation và DTO
Tài liệu API & Hợp đồng
Xử lý lỗi
Kiểm thử đơn vị
Lập lịch tác vụ
Module và DI trong NestJS
Cấu hình & Quản lý môi trường
Xác thực JWT
Phân quyền và RBAC
Cơ sở dữ liệu với TypeORM
Prisma ORM
Middleware và Interceptor
Tải lên tệp
WebSockets
GraphQL với NestJS
Kiểm thử End-to-End
Caching với Redis
DevOps, Logging & CI/CD
Docker & Đóng gói container
Microservices
Các phương pháp bảo mật tốt nhất
Hiệu năng và triển khai Cloud
Nắm vững Node.js / NestJS cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí