@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
TypeScript
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>;
}