Skip to content

Commit f906b2a

Browse files
committed
feat: deps up & added auth for message queue
1 parent 7f9f676 commit f906b2a

File tree

3 files changed

+1137
-922
lines changed

3 files changed

+1137
-922
lines changed

index.ts

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,32 @@ export interface JobQueueOptions {
4646
* Connection params of the queue engine cluster (typically -
4747
* host and port). By default the broker is redis.
4848
* Optional.
49-
* By default is [{ host: "localhost", port: 6379 }].
5049
*
50+
* @default [{ host: "localhost", port: 6379 }]
5151
* @type {Array<{host: string, port: number}>}
5252
*/
5353
cluster?: { host: string; port: number; }[];
5454

55+
/**
56+
* Message queue username
57+
*
58+
* @type {string}
59+
*/
60+
username?: string;
61+
62+
/**
63+
* Message queue password
64+
*
65+
* @type {string}
66+
*/
67+
password?: string;
68+
5569
/**
5670
* Logger to be used for producing log and error messages.
5771
* Optional.
5872
* By default is console.
5973
*
74+
* @default console
6075
* @type {ILogger}
6176
*/
6277
logger?: ILogger;
@@ -67,8 +82,8 @@ export interface JobQueueOptions {
6782
* fails or dies - job data is re-queued for future processing by another
6883
* worker.
6984
* Optional.
70-
* Default is true.
7185
*
86+
* @default true
7287
* @type {boolean}
7388
*/
7489
safe?: boolean;
@@ -78,23 +93,38 @@ export interface JobQueueOptions {
7893
* If worker does not finish processing after this TTL - job is re-queued
7994
* for other workers to be processed.
8095
* Optional.
81-
* By default is 10000.
96+
*
97+
* @default 10000
98+
* @type {number}
8299
*/
83100
safeLockTtl?: number;
84101

85102
/**
86103
* Job queue prefix in queue broker.
87104
* Optional.
88-
* By default is "imq-job".
105+
*
106+
* @default "imq-job"
107+
* @type {string}
89108
*/
90109
prefix?: string;
91110

92111
/**
93-
* Verbose logging mode.
94-
* Optional.
95-
* By default is false.
112+
* Enables/disables verbose logging
113+
*
114+
* @default false
115+
* @type {boolean}
96116
*/
97117
verbose?: boolean;
118+
119+
/**
120+
* Enables/disables extended verbose logging. The output may contain
121+
* sensitive information, so use it with caution. Does not work if a verbose
122+
* option is disabled.
123+
*
124+
* @default false
125+
* @type {boolean}
126+
*/
127+
verboseExtended?: boolean;
98128
}
99129

100130
export interface JobQueuePopHandler<T> {
@@ -237,16 +267,16 @@ function toIMQOptions(
237267
): Partial<IMQOptions> {
238268
return {
239269
cluster: options.cluster,
270+
username: options.username,
271+
password: options.password,
240272
cleanup: false,
241273
safeDelivery: typeof options.safe === 'undefined'
242274
? true : options.safe,
243275
safeDeliveryTtl: typeof options.safeLockTtl === 'undefined'
244276
? 10000 : options.safeLockTtl,
245277
prefix: options.prefix || 'imq-job',
246-
verbose: typeof options.verbose === 'undefined'
247-
? false
248-
: options.verbose
249-
,
278+
verbose: options.verbose,
279+
verboseExtended: options.verboseExtended,
250280
logger,
251281
};
252282
}

0 commit comments

Comments
 (0)