События задачи в Nest
Обработчик меняет поле класса, но снаружи не видно, когда задача закончилась успешно или окончательно упала. Для отладки и простого наблюдения нужна отдельная реакция на смену состояния.
BullMQ сообщает о шагах
жизни задачи на стороне
обработчика. В том же классе,
что наследует WorkerHost,
метод помечают OnWorkerEvent
и указывают имя события,
например успешное завершение
или ошибку после всех попыток.
Покажем на примере постов:
import {
OnWorkerEvent,
Processor,
WorkerHost,
} from '@nestjs/bullmq';
import { Job } from 'bullmq';
@Processor('posts')
export class PostProcessor extends WorkerHost {
async process(job: Job<{ title: string }>) {
return { title: job.data.title };
}
@OnWorkerEvent('completed')
onCompleted(job: Job) {
console.log(`Задача ${job.id} завершена`);
}
}
Добавьте в WorkerProcessor
реакцию на успешное завершение
или на ошибку задачи с одной
строкой в журнал.