diff --git a/src/classes/queue.ts b/src/classes/queue.ts index 953e4e77ce..b4df860a38 100644 --- a/src/classes/queue.ts +++ b/src/classes/queue.ts @@ -120,6 +120,12 @@ export class Queue< this.emit('resumed'); } + async isPaused() { + const client = await this.client; + const pausedKeyExists = await client.hexists(this.keys.meta, 'paused'); + return pausedKeyExists === 1; + } + async getRepeatableJobs(start?: number, end?: number, asc?: boolean) { return (await this.repeat).getRepeatableJobs(start, end, asc); } diff --git a/src/test/test_pause.ts b/src/test/test_pause.ts index d70dfc29fe..35f6d551ca 100644 --- a/src/test/test_pause.ts +++ b/src/test/test_pause.ts @@ -302,4 +302,14 @@ describe('Pause', function() { }); }); }); + + it('gets the right response from isPaused', async () => { + await queue.pause(); + const isPausedQueuePaused = await queue.isPaused(); + expect(isPausedQueuePaused).to.be.true; + + await queue.resume(); + const isResumedQueuePaused = await queue.isPaused(); + expect(isResumedQueuePaused).to.be.false; + }); });