Queue
BullMQ-based job queue system
Classes
QueueClient
Defined in: packages/core/src/core/queue/QueueClient.ts:20
QueueClient - Wrapper for BullMQ Queue (Producer side) Used by API Service to add jobs to queues
This class abstracts BullMQ implementation details. No direct BullMQ calls should be made outside this wrapper.
Implements
Constructors
Constructor
new QueueClient(redisConfig): QueueClient;
Defined in: packages/core/src/core/queue/QueueClient.ts:24
Parameters
redisConfig
Returns
Methods
addBulk()
addBulk<T>(queueName, jobs): Promise<string[]>;
Defined in: packages/core/src/core/queue/QueueClient.ts:71
Add multiple jobs to a queue in bulk
Type Parameters
T
T
Parameters
queueName
string
jobs
JobData<T>[]
Returns
Promise<string[]>
Implementation of
addJob()
addJob<T>(
queueName,
jobName,
data,
options?): Promise<string>;
Defined in: packages/core/src/core/queue/QueueClient.ts:49
Add a single job to a queue
Type Parameters
T
T
Parameters
queueName
string
jobName
string
data
T
options?
Returns
Promise<string>
Implementation of
close()
close(): Promise<void>;
Defined in: packages/core/src/core/queue/QueueClient.ts:146
Close all queue connections
Returns
Promise<void>
Implementation of
getJobStatus()
getJobStatus(queueName, jobId): Promise<JobStatus>;
Defined in: packages/core/src/core/queue/QueueClient.ts:95
Get the status of a specific job
Parameters
queueName
string
jobId
string
Returns
Promise<JobStatus>
Implementation of
getQueueStatus()
getQueueStatus(queueName): Promise<QueueStatus>;
Defined in: packages/core/src/core/queue/QueueClient.ts:121
Get queue statistics
Parameters
queueName
string
Returns
Promise<QueueStatus>
Implementation of
QueueManager
Defined in: packages/core/src/core/queue/QueueManager.ts:34
QueueManager - Wrapper for BullMQ Worker (Consumer side) Used by Worker Service to process jobs from queues
This class abstracts BullMQ implementation details. No direct BullMQ calls should be made outside this wrapper.
Constructors
Constructor
new QueueManager(redisConfig): QueueManager;
Defined in: packages/core/src/core/queue/QueueManager.ts:40
Parameters
redisConfig
Returns
Methods
cleanQueue()
cleanQueue(
queueName,
grace?,
status?): Promise<void>;
Defined in: packages/core/src/core/queue/QueueManager.ts:306
Clean completed/failed jobs from a queue
Parameters
queueName
string
grace?
number = 0
status?
"completed" | "failed"
Returns
Promise<void>
close()
close(): Promise<void>;
Defined in: packages/core/src/core/queue/QueueManager.ts:318
Close all workers and connections
Returns
Promise<void>
getQueueStatus()
getQueueStatus(queueName): Promise<QueueStatus>;
Defined in: packages/core/src/core/queue/QueueManager.ts:248
Get queue status/statistics
Parameters
queueName
string
Returns
Promise<QueueStatus>
getWorkersStatus()
getWorkersStatus(): object[];
Defined in: packages/core/src/core/queue/QueueManager.ts:273
Get status of all registered workers
Returns
object[]
pauseQueue()
pauseQueue(queueName): Promise<void>;
Defined in: packages/core/src/core/queue/QueueManager.ts:290
Pause a queue (stops new jobs from being processed)
Parameters
queueName
string
Returns
Promise<void>
register()
register(workerClass): void;
Defined in: packages/core/src/core/queue/QueueManager.ts:72
Register a worker class decorated with
Parameters
workerClass
Returns
void
Queue Worker
resumeQueue()
resumeQueue(queueName): Promise<void>;
Defined in: packages/core/src/core/queue/QueueManager.ts:298
Resume a paused queue
Parameters
queueName
string
Returns
Promise<void>
setContainer()
setContainer(container): void;
Defined in: packages/core/src/core/queue/QueueManager.ts:47
Set the Inversify container for dependency injection
Parameters
container
Container
Returns
void
start()
start(queueName): void;
Defined in: packages/core/src/core/queue/QueueManager.ts:218
Start a specific worker by queue name
Parameters
queueName
string
Returns
void
startAll()
startAll(): void;
Defined in: packages/core/src/core/queue/QueueManager.ts:192
Start all registered workers
Returns
void
stop()
stop(queueName): Promise<void>;
Defined in: packages/core/src/core/queue/QueueManager.ts:233
Stop a specific worker by queue name
Parameters
queueName
string
Returns
Promise<void>
stopAll()
stopAll(): Promise<void>;
Defined in: packages/core/src/core/queue/QueueManager.ts:205
Stop all registered workers
Returns
Promise<void>
Interfaces
IQueueClient
Defined in: packages/core/src/core/queue/types.ts:134
Interface for Queue Client (used by API Service). Only responsible for adding jobs to queues - never consumes.
Methods
addBulk()
addBulk<T>(queueName, jobs): Promise<string[]>;
Defined in: packages/core/src/core/queue/types.ts:156
Add multiple jobs to a queue in bulk
Type Parameters
T
T
Parameters
queueName
string
Name of the queue
jobs
JobData<T>[]
Array of job data
Returns
Promise<string[]>
Array of Job IDs
addJob()
addJob<T>(
queueName,
jobName,
data,
options?): Promise<string>;
Defined in: packages/core/src/core/queue/types.ts:143
Add a single job to a queue
Type Parameters
T
T
Parameters
queueName
string
Name of the queue
jobName
string
Name/type of the job
data
T
Job payload data
options?
Optional job configuration
Returns
Promise<string>
Job ID
close()
close(): Promise<void>;
Defined in: packages/core/src/core/queue/types.ts:174
Close all connections
Returns
Promise<void>
getJobStatus()
getJobStatus(queueName, jobId): Promise<JobStatus>;
Defined in: packages/core/src/core/queue/types.ts:163
Get the status of a specific job
Parameters
queueName
string
Name of the queue
jobId
string
Job ID
Returns
Promise<JobStatus>
getQueueStatus()
getQueueStatus(queueName): Promise<QueueStatus>;
Defined in: packages/core/src/core/queue/types.ts:169
Get queue statistics
Parameters
queueName
string
Name of the queue
Returns
Promise<QueueStatus>
IQueueWorkerHandler
Defined in: packages/core/src/core/queue/types.ts:101
Interface for queue worker handlers
Type Parameters
T
T = any
Methods
onCompleted()?
optional onCompleted(job, result): void;
Defined in: packages/core/src/core/queue/types.ts:110
Called when a job completes successfully
Parameters
job
Job<T>
result
any
Returns
void
onFailed()?
optional onFailed(job, error): void;
Defined in: packages/core/src/core/queue/types.ts:115
Called when a job fails
Parameters
job
Job<T>
error
Error
Returns
void
onProgress()?
optional onProgress(job, progress): void;
Defined in: packages/core/src/core/queue/types.ts:120
Called when job progress is updated
Parameters
job
Job<T>
progress
number | object
Returns
void
process()
process(job): Promise<any>;
Defined in: packages/core/src/core/queue/types.ts:105
Process a job from the queue
Parameters
job
Job<T>
Returns
Promise<any>
JobData
Defined in: packages/core/src/core/queue/types.ts:44
Job data structure
Type Parameters
T
T = any
Properties
data
data: T;
Defined in: packages/core/src/core/queue/types.ts:46
name
name: string;
Defined in: packages/core/src/core/queue/types.ts:45
options?
optional options: JobOptions;
Defined in: packages/core/src/core/queue/types.ts:47
JobOptions
Defined in: packages/core/src/core/queue/types.ts:21
Options for adding a job to a queue
Properties
attempts?
optional attempts: number;
Defined in: packages/core/src/core/queue/types.ts:25
Number of retry attempts on failure
backoff?
optional backoff: object;
Defined in: packages/core/src/core/queue/types.ts:27
Backoff strategy for retries
delay
delay: number;
type
type: "fixed" | "exponential";
delay?
optional delay: number;
Defined in: packages/core/src/core/queue/types.ts:23
Delay before the job is processed (ms)
jobId?
optional jobId: string;
Defined in: packages/core/src/core/queue/types.ts:38
Unique job ID (prevents duplicates)
priority?
optional priority: number;
Defined in: packages/core/src/core/queue/types.ts:32
Job priority (lower = higher priority)
removeOnComplete?
optional removeOnComplete: number | boolean;
Defined in: packages/core/src/core/queue/types.ts:34
Remove job from queue after completion
removeOnFail?
optional removeOnFail: number | boolean;
Defined in: packages/core/src/core/queue/types.ts:36
Remove job from queue after failure
JobStatus
Defined in: packages/core/src/core/queue/types.ts:53
Job status information
Properties
attemptsMade
attemptsMade: number;
Defined in: packages/core/src/core/queue/types.ts:61
data
data: any;
Defined in: packages/core/src/core/queue/types.ts:58
failedReason?
optional failedReason: string;
Defined in: packages/core/src/core/queue/types.ts:60
id
id: string;
Defined in: packages/core/src/core/queue/types.ts:54
name
name: string;
Defined in: packages/core/src/core/queue/types.ts:55
progress
progress: number;
Defined in: packages/core/src/core/queue/types.ts:57
returnValue?
optional returnValue: any;
Defined in: packages/core/src/core/queue/types.ts:59
status
status: "waiting" | "active" | "completed" | "failed" | "delayed";
Defined in: packages/core/src/core/queue/types.ts:56
timestamp
timestamp: number;
Defined in: packages/core/src/core/queue/types.ts:62
QueueStatus
Defined in: packages/core/src/core/queue/types.ts:68
Queue status information
Properties
active
active: number;
Defined in: packages/core/src/core/queue/types.ts:71
completed
completed: number;
Defined in: packages/core/src/core/queue/types.ts:72
delayed
delayed: number;
Defined in: packages/core/src/core/queue/types.ts:74
failed
failed: number;
Defined in: packages/core/src/core/queue/types.ts:73
name
name: string;
Defined in: packages/core/src/core/queue/types.ts:69
paused
paused: boolean;
Defined in: packages/core/src/core/queue/types.ts:75
waiting
waiting: number;
Defined in: packages/core/src/core/queue/types.ts:70
QueueWorkerMetadata
Defined in: packages/core/src/core/queue/types.ts:93
Metadata for
Queue Worker
decorator
Properties
options
options: WorkerOptions;
Defined in: packages/core/src/core/queue/types.ts:95
queueName
queueName: string;
Defined in: packages/core/src/core/queue/types.ts:94
RedisConfig
Defined in: packages/core/src/core/queue/types.ts:6
Redis connection configuration
Properties
db?
optional db: number;
Defined in: packages/core/src/core/queue/types.ts:10
host
host: string;
Defined in: packages/core/src/core/queue/types.ts:7
password?
optional password: string;
Defined in: packages/core/src/core/queue/types.ts:9
port
port: number;
Defined in: packages/core/src/core/queue/types.ts:8
WorkerOptions
Defined in: packages/core/src/core/queue/types.ts:81
Worker configuration options
Properties
concurrency?
optional concurrency: number;
Defined in: packages/core/src/core/queue/types.ts:83
Number of concurrent jobs to process
lockDuration?
optional lockDuration: number;
Defined in: packages/core/src/core/queue/types.ts:85
Lock duration for a job (ms)
maxStalledCount?
optional maxStalledCount: number;
Defined in: packages/core/src/core/queue/types.ts:87
Maximum stalled count before failing
Type Aliases
QueueWorkerConstructor()
type QueueWorkerConstructor = (...args) => IQueueWorkerHandler;
Defined in: packages/core/src/core/queue/types.ts:126
Constructor type for queue worker classes
Parameters
args
...any[]
Returns
Variables
Job
Job: any;
This class represents a Job in the queue. Normally job are implicitly created when you add a job to the queue with methods such as Queue.addJob( ... )
References
QUEUE_WORKER_METADATA_KEY
Re-exports QUEUE_WORKER_METADATA_KEY
QueueWorker
Re-exports QueueWorker