Подключение очереди в Nest
Пакет очередей уже в зависимостях, но приложение не знает, к какому Redis подключаться и какое имя носит очередь для задач. Без этой настройки Nest не создаст клиент и не примет ни постановку, ни обработку.
BullModule.forRoot задаёт
общее соединение для всех очередей
приложения. Вызов
BullModule.registerQueue
добавляет очередь с выбранным
именем: по нему потом находят
очередь при внедрении и связывают
обработчик с тем же именем.
Покажем на примере постов:
npm install @nestjs/bullmq bullmq
Подключим модуль в корне приложения
и зарегистрируем очередь
posts:
import { Module } from '@nestjs/common';
import { BullModule } from '@nestjs/bullmq';
@Module({
imports: [
BullModule.forRoot({
connection: {
host: 'localhost',
port: 6379,
},
}),
BullModule.registerQueue({
name: 'posts',
}),
],
})
export class AppModule {}
Подключите очередь в корневом модуле приложения работников и укажите Redis.