Node.js / NestJS

Hàng đợi với Bull

Bull queues, processors, jobs, jobs trì hoãn, độ ưu tiên, retries, sự kiện

20 câu hỏi phỏng vấn·
Mid-Level
1

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.

2

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.

3

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.

4

Chức năng của Redis trong kiến trúc của Bull là gì?

5

Làm thế nào để định nghĩa một delayed job trong Bull?

+17 câu hỏi phỏng vấn

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í