diff --git a/backend/nestjs-seshat-api/src/library/library.consumer.ts b/backend/nestjs-seshat-api/src/library/library.consumer.ts index 8f6649d..75d01a3 100644 --- a/backend/nestjs-seshat-api/src/library/library.consumer.ts +++ b/backend/nestjs-seshat-api/src/library/library.consumer.ts @@ -1,5 +1,5 @@ -import { Processor, WorkerHost } from '@nestjs/bullmq'; +import { OnQueueEvent, Processor, WorkerHost } from '@nestjs/bullmq'; import { Job } from 'bullmq'; import { PinoLogger } from 'nestjs-pino'; import { GoogleSearchContext } from 'src/providers/contexts/google.search.context'; @@ -101,6 +101,44 @@ export class LibraryConsumer extends WorkerHost { return null; } + @OnQueueEvent('failed') + onFailed(job: Job, err: Error) { + this.logger.error({ + class: LibraryConsumer.name, + method: this.onFailed.name, + job: job, + msg: 'A library job failed.', + error: err, + }); + } + + @OnQueueEvent('paused') + onPaused() { + this.logger.info({ + class: LibraryConsumer.name, + method: this.onPaused.name, + msg: 'Library jobs have been paused.', + }); + } + + @OnQueueEvent('resumed') + onResume(job: Job) { + this.logger.info({ + class: LibraryConsumer.name, + method: this.onResume.name, + msg: 'Library jobs have resumed.', + }); + } + + @OnQueueEvent('waiting') + onWaiting(jobId: number | string) { + this.logger.info({ + class: LibraryConsumer.name, + method: this.onWaiting.name, + msg: 'A library job is waiting...', + }); + } + private toScore(book: BookSearchResultDto, series: CreateSeriesSubscriptionJobDto): ({ result: BookSearchResultDto, score: number }) { if (!book) { return {