Skip to content

Commit 3cd81f4

Browse files
committed
fix: safe onPop, better logging
1 parent 3b6c319 commit 3cd81f4

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

index.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ implements AnyJobQueuePublisher<JobQueuePublisher<T>, T>
279279
...(options.ttl ? { expire: Date.now() + options.ttl } : {}),
280280
...(options.delay ? { delay: options.delay } : {}),
281281
}, options.delay).catch(err =>
282-
this.logger.log('JobQueue push error:', err),
282+
this.logger.log('[JobQueue] push error:', err),
283283
);
284284

285285
return this;
@@ -321,6 +321,13 @@ export class JobQueueWorker<T> extends BaseJobQueue<JobQueueWorker<T>, T>
321321
this.handler = handler;
322322
this.imq.removeAllListeners('message');
323323
this.imq.on('message', async (message: any) => {
324+
if (typeof message !== 'object' || !message) {
325+
this.logger.warn(
326+
'[JobQueue] Invalid message received:',
327+
JSON.stringify(message),
328+
);
329+
}
330+
324331
const { job, expire, delay } = message;
325332
let rescheduleDelay: number | void | undefined | Promise<any>;
326333

@@ -337,7 +344,7 @@ export class JobQueueWorker<T> extends BaseJobQueue<JobQueueWorker<T>, T>
337344
}
338345
} catch (err) {
339346
rescheduleDelay = delay;
340-
this.logger.log('Error handling job:', err);
347+
this.logger.log('[JobQueue] Error handling job:', err);
341348
}
342349

343350
if (typeof expire === 'number' && expire <= Date.now()) {
@@ -387,7 +394,7 @@ implements
387394
public async start(): Promise<JobQueue<T>> {
388395
if (!this.handler) {
389396
throw new TypeError(
390-
'Message handler is not set, can not start job queue!',
397+
'[JobQueue] Message handler is not set, can not start job queue!',
391398
);
392399
}
393400

@@ -405,7 +412,7 @@ implements
405412
public push(job: T, options?: PushOptions): JobQueue<T> {
406413
if (!this.handler) {
407414
throw new TypeError(
408-
'Message handler is not set, can not enqueue data!',
415+
'[JobQueue] Message handler is not set, can not enqueue data!',
409416
);
410417
}
411418

0 commit comments

Comments
 (0)