
Черги з Bull
Bull queues, processors, jobs, відкладені jobs, пріоритети, retries, події
1Що таке Bull у контексті NestJS?
Що таке Bull у контексті NestJS?
Відповідь
Bull — це бібліотека Node.js для керування стійкими чергами (queues) на основі Redis. Вона дозволяє виконувати фонові задачі асинхронно, керувати пріоритетами, retries та відкладеними jobs. NestJS надає модуль @nestjs/bull, який нативно інтегрує Bull у модульну архітектуру фреймворка, спрощуючи створення workers та керування важкими або тривалими jobs.
2Яка роль processor у Bull?
Яка роль processor у Bull?
Відповідь
Processor — це функція, яка обробляє jobs з черги. Коли job додається до черги, Bull автоматично викликає відповідний processor для виконання бізнес-логіки. Processor отримує job як параметр і може отримати доступ до даних через job.data. Він може бути синхронним або асинхронним і повинен повертати значення або Promise, щоб сигналізувати про завершення job.
3Як додати job до черги Bull у NestJS?
Як додати job до черги Bull у NestJS?
Відповідь
Щоб додати job, потрібно інжектувати чергу через @InjectQueue('queueName'), а потім використати метод add(). Цей метод приймає необов'язкові параметри: ім'я job, дані для обробки (payload) та опції на кшталт delay, priority, attempts. Метод повертає Promise зі створеним job та його унікальним ID, що дозволяє відстежувати або маніпулювати ним пізніше.
Яку функцію виконує Redis в архітектурі Bull?
Як визначити delayed job у Bull?
+17 питань зі співбесід
Інші теми співбесід Node.js / NestJS
Основи Node.js
Основні API Node.js
Асинхронне програмування
Основи Express.js
Основи NestJS
Проєктування REST API
Валідація та DTO
Документація API та контракти
Обробка помилок
Юніт-тестування
Планування завдань
Модулі та DI у NestJS
Конфігурація та керування середовищами
Автентифікація JWT
Авторизація та RBAC
База даних з TypeORM
Prisma ORM
Middleware та Interceptors
Завантаження файлів
WebSockets
GraphQL з NestJS
Наскрізне тестування (End-to-End)
Кешування з Redis
DevOps, Logging та CI/CD
Docker та контейнеризація
Мікросервіси
Найкращі практики безпеки
Продуктивність і хмарне розгортання
Опануй Node.js / NestJS для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно