UNPKG

@lexamica-modules/job-queue

Version:

The package for the Lexamica Job Queue SDK powered by Redis and BullMQ

45 lines (44 loc) 1.64 kB
import { Queue, QueueOptions } from "bullmq"; import { Redis } from "ioredis"; /** * Message Queue Management Class */ export declare class Queues { private _connection; /** * Initialize a Queues instance with the Redis connection to use * @param {Redis} connection the Redis connection to use */ constructor(connection: Redis); /** * Create a new queue * @param {string} queue_name the name to give the queue instance * @param {QueueOptions} options additional options to give the queue * @returns {Queue<unknown, unknown, string> | void} */ create: (queue_name: string, options?: QueueOptions) => Queue<unknown, unknown, string> | void; /** * Drain a queue instance of all pending jobs * @param {Queue} queue The queue instance to drain * @returns {Promise<boolean>} */ drain: (queue: Queue) => Promise<boolean>; /** * Pause job execution on a queue. Jobs can be added but will not be processed until queue is unpaused * @param {Queue} queue The queue instance to pause * @returns {Promise<boolean>} Boolean indication if queue was paused */ pause: (queue: Queue) => Promise<boolean>; /** * Continue job execution on a queue that is paused. * @param queue The queue instance to unpause. * @returns {Promise<boolean>} Boolean indication if queue was unpaused */ resume: (queue: Queue) => Promise<boolean>; /** * Delete a queue from Redis. * @param queue The queue instance to delete * @returns {Promise<boolean>} */ delete: (queue: Queue) => Promise<boolean>; }