@venizia/ignis-helpers 0.2.0-14 → 0.2.0-16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.d.ts +1 -0
- package/dist/cjs/core.d.ts.map +1 -1
- package/dist/cjs/core.js +3 -1
- package/dist/cjs/core.js.map +1 -1
- package/dist/cjs/modules/queue/bullmq/helper.d.ts +20 -4
- package/dist/cjs/modules/queue/bullmq/helper.d.ts.map +1 -1
- package/dist/cjs/modules/queue/bullmq/helper.js +40 -12
- package/dist/cjs/modules/queue/bullmq/helper.js.map +1 -1
- package/dist/cjs/modules/queue/kafka/base.d.ts +8 -4
- package/dist/cjs/modules/queue/kafka/base.d.ts.map +1 -1
- package/dist/cjs/modules/queue/kafka/base.js +5 -1
- package/dist/cjs/modules/queue/kafka/base.js.map +1 -1
- package/dist/cjs/modules/queue/kafka/common/types/callbacks.d.ts +10 -0
- package/dist/cjs/modules/queue/kafka/common/types/callbacks.d.ts.map +1 -1
- package/dist/cjs/modules/queue/kafka/common/types/consumer.d.ts +5 -1
- package/dist/cjs/modules/queue/kafka/common/types/consumer.d.ts.map +1 -1
- package/dist/cjs/modules/queue/kafka/consumer.d.ts +64 -28
- package/dist/cjs/modules/queue/kafka/consumer.d.ts.map +1 -1
- package/dist/cjs/modules/queue/kafka/consumer.js +53 -20
- package/dist/cjs/modules/queue/kafka/consumer.js.map +1 -1
- package/dist/cjs/utilities/module.utility.d.ts +6 -1
- package/dist/cjs/utilities/module.utility.d.ts.map +1 -1
- package/dist/cjs/utilities/module.utility.js +10 -2
- package/dist/cjs/utilities/module.utility.js.map +1 -1
- package/dist/cjs/utilities/project-root.utility.d.ts +17 -0
- package/dist/cjs/utilities/project-root.utility.d.ts.map +1 -0
- package/dist/cjs/utilities/project-root.utility.js +23 -0
- package/dist/cjs/utilities/project-root.utility.js.map +1 -0
- package/dist/esm/core.d.ts +1 -0
- package/dist/esm/core.d.ts.map +1 -1
- package/dist/esm/core.js +1 -0
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/modules/queue/bullmq/helper.d.ts +20 -4
- package/dist/esm/modules/queue/bullmq/helper.d.ts.map +1 -1
- package/dist/esm/modules/queue/bullmq/helper.js +40 -12
- package/dist/esm/modules/queue/bullmq/helper.js.map +1 -1
- package/dist/esm/modules/queue/kafka/base.d.ts +8 -4
- package/dist/esm/modules/queue/kafka/base.d.ts.map +1 -1
- package/dist/esm/modules/queue/kafka/base.js +5 -1
- package/dist/esm/modules/queue/kafka/base.js.map +1 -1
- package/dist/esm/modules/queue/kafka/common/types/callbacks.d.ts +10 -0
- package/dist/esm/modules/queue/kafka/common/types/callbacks.d.ts.map +1 -1
- package/dist/esm/modules/queue/kafka/common/types/consumer.d.ts +5 -1
- package/dist/esm/modules/queue/kafka/common/types/consumer.d.ts.map +1 -1
- package/dist/esm/modules/queue/kafka/consumer.d.ts +64 -28
- package/dist/esm/modules/queue/kafka/consumer.d.ts.map +1 -1
- package/dist/esm/modules/queue/kafka/consumer.js +53 -20
- package/dist/esm/modules/queue/kafka/consumer.js.map +1 -1
- package/dist/esm/utilities/module.utility.d.ts +6 -1
- package/dist/esm/utilities/module.utility.d.ts.map +1 -1
- package/dist/esm/utilities/module.utility.js +10 -2
- package/dist/esm/utilities/module.utility.js.map +1 -1
- package/dist/esm/utilities/project-root.utility.d.ts +17 -0
- package/dist/esm/utilities/project-root.utility.d.ts.map +1 -0
- package/dist/esm/utilities/project-root.utility.js +19 -0
- package/dist/esm/utilities/project-root.utility.js.map +1 -0
- package/package.json +1 -1
package/dist/cjs/core.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export { TreeBuilder } from './modules/tree/builder';
|
|
|
17
17
|
export type { ITreeNode, INodeWithPath, TNodePredicate, TOnVisit, TOnVisitAsync, IWalkOptions, IWalkAsyncOptions, IHeightWhereOptions, IBuildOptions, ILeavesOptions, IPrintOptions, } from './modules/tree/common/types';
|
|
18
18
|
export { toBoolean, int, toCamel, keysToCamel } from './utilities/parse.utility';
|
|
19
19
|
export { executeWithPerformanceMeasure } from './utilities/performance.utility';
|
|
20
|
+
export { ProjectRootRegistry } from './utilities/project-root.utility';
|
|
20
21
|
export type { AESAlgorithmType } from './modules/crypto/algorithms/aes.algorithm';
|
|
21
22
|
export type { IPayloadCipher } from './modules/crypto/common/types';
|
|
22
23
|
export type { IRedisHelper } from './modules/redis/common/interfaces';
|
package/dist/cjs/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,cAAc,qDAAqD,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAChG,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,cAAc,qDAAqD,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAChG,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAKvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC"}
|
package/dist/cjs/core.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.executeWithPerformanceMeasure = exports.keysToCamel = exports.toCamel = exports.int = exports.toBoolean = exports.TreeBuilder = exports.TreeWalker = exports.SlugHelper = exports.RetryJitterModes = exports.RetryBackoffStrategies = exports.RetryHelper = exports.LogLevels = exports.EnvironmentNames = exports.BaseHelper = void 0;
|
|
17
|
+
exports.ProjectRootRegistry = exports.executeWithPerformanceMeasure = exports.keysToCamel = exports.toCamel = exports.int = exports.toBoolean = exports.TreeBuilder = exports.TreeWalker = exports.SlugHelper = exports.RetryJitterModes = exports.RetryBackoffStrategies = exports.RetryHelper = exports.LogLevels = exports.EnvironmentNames = exports.BaseHelper = void 0;
|
|
18
18
|
var base_1 = require("./modules/base");
|
|
19
19
|
Object.defineProperty(exports, "BaseHelper", { enumerable: true, get: function () { return base_1.BaseHelper; } });
|
|
20
20
|
// By name, never `export *` from `./modules/env`: that barrel also carries `Environment` and
|
|
@@ -50,4 +50,6 @@ Object.defineProperty(exports, "toCamel", { enumerable: true, get: function () {
|
|
|
50
50
|
Object.defineProperty(exports, "keysToCamel", { enumerable: true, get: function () { return parse_utility_1.keysToCamel; } });
|
|
51
51
|
var performance_utility_1 = require("./utilities/performance.utility");
|
|
52
52
|
Object.defineProperty(exports, "executeWithPerformanceMeasure", { enumerable: true, get: function () { return performance_utility_1.executeWithPerformanceMeasure; } });
|
|
53
|
+
var project_root_utility_1 = require("./utilities/project-root.utility");
|
|
54
|
+
Object.defineProperty(exports, "ProjectRootRegistry", { enumerable: true, get: function () { return project_root_utility_1.ProjectRootRegistry; } });
|
|
53
55
|
//# sourceMappingURL=core.js.map
|
package/dist/cjs/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAAnC,kGAAA,UAAU,OAAA;AACnB,6FAA6F;AAC7F,8DAA8D;AAC9D,6CAAuD;AAA9C,yGAAA,gBAAgB,OAAA;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,8DAA4C;AAE5C,uDAA0D;AAAjD,kGAAA,SAAS,OAAA;AAClB,sFAAoE;AACpE,iDAAqD;AAA5C,qGAAA,WAAW,OAAA;AACpB,8DAA4F;AAAnF,mHAAA,sBAAsB,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAGjD,gDAAmD;AAA1C,oGAAA,UAAU,OAAA;AACnB,4CAAiD;AAAxC,kGAAA,UAAU,OAAA;AACnB,kDAAqD;AAA5C,sGAAA,WAAW,OAAA;AAepB,gGAAgG;AAChG,6FAA6F;AAC7F,iGAAiG;AACjG,0DAA0D;AAC1D,2DAAiF;AAAxE,0GAAA,SAAS,OAAA;AAAE,oGAAA,GAAG,OAAA;AAAE,wGAAA,OAAO,OAAA;AAAE,4GAAA,WAAW,OAAA;AAC7C,uEAAgF;AAAvE,oIAAA,6BAA6B,OAAA"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAAnC,kGAAA,UAAU,OAAA;AACnB,6FAA6F;AAC7F,8DAA8D;AAC9D,6CAAuD;AAA9C,yGAAA,gBAAgB,OAAA;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,8DAA4C;AAE5C,uDAA0D;AAAjD,kGAAA,SAAS,OAAA;AAClB,sFAAoE;AACpE,iDAAqD;AAA5C,qGAAA,WAAW,OAAA;AACpB,8DAA4F;AAAnF,mHAAA,sBAAsB,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAGjD,gDAAmD;AAA1C,oGAAA,UAAU,OAAA;AACnB,4CAAiD;AAAxC,kGAAA,UAAU,OAAA;AACnB,kDAAqD;AAA5C,sGAAA,WAAW,OAAA;AAepB,gGAAgG;AAChG,6FAA6F;AAC7F,iGAAiG;AACjG,0DAA0D;AAC1D,2DAAiF;AAAxE,0GAAA,SAAS,OAAA;AAAE,oGAAA,GAAG,OAAA;AAAE,wGAAA,OAAO,OAAA;AAAE,4GAAA,WAAW,OAAA;AAC7C,uEAAgF;AAAvE,oIAAA,6BAA6B,OAAA;AACtC,yEAAuE;AAA9D,2HAAA,mBAAmB,OAAA"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { BaseHelper } from '../../base';
|
|
2
2
|
import { IRedisHelper } from '../../redis';
|
|
3
|
-
import { Job, Processor, Queue, Worker } from 'bullmq';
|
|
3
|
+
import { Job, Processor, Queue, QueueOptions, Worker, WorkerOptions } from 'bullmq';
|
|
4
4
|
import { TBullQueueRole } from '../common';
|
|
5
|
-
interface IBullMQOptions<TQueueElement = any, TQueueResult = any> {
|
|
5
|
+
export interface IBullMQOptions<TQueueElement = any, TQueueResult = any> {
|
|
6
6
|
queueName: string;
|
|
7
7
|
identifier: string;
|
|
8
8
|
role: TBullQueueRole;
|
|
9
9
|
redisConnection: IRedisHelper;
|
|
10
10
|
numberOfWorker?: number;
|
|
11
11
|
lockDuration?: number;
|
|
12
|
+
/** Merged over the framework defaults, under the fields the helper owns (`connection`) - see `queueOptionsFor`. */
|
|
13
|
+
queueOptions?: Omit<QueueOptions, 'connection'>;
|
|
14
|
+
/** Merged under the fields the helper owns (`connection`, `concurrency`, `lockDuration`) - see `workerOptionsFor`. */
|
|
15
|
+
workerOptions?: Omit<WorkerOptions, 'connection' | 'concurrency' | 'lockDuration'>;
|
|
12
16
|
onWorkerData?: (job: Job<TQueueElement, TQueueResult>) => Promise<any>;
|
|
13
17
|
onWorkerDataCompleted?: (job: Job<TQueueElement, TQueueResult>, result: any) => Promise<void>;
|
|
14
18
|
onWorkerDataFail?: (job: Job<TQueueElement, TQueueResult> | undefined, error: Error) => Promise<void>;
|
|
@@ -21,13 +25,26 @@ export declare class BullMQHelper<TQueueElement = any, TQueueResult = any> exten
|
|
|
21
25
|
worker: Worker<TQueueElement, TQueueResult>;
|
|
22
26
|
protected numberOfWorker: number;
|
|
23
27
|
protected lockDuration: number;
|
|
28
|
+
protected queueOptions?: Omit<QueueOptions, 'connection'>;
|
|
29
|
+
protected workerOptions?: Omit<WorkerOptions, 'connection' | 'concurrency' | 'lockDuration'>;
|
|
24
30
|
protected onWorkerData?: (job: Job<TQueueElement, TQueueResult>) => Promise<any>;
|
|
25
31
|
protected onWorkerDataCompleted?: (job: Job<TQueueElement, TQueueResult>, result: any) => Promise<void>;
|
|
26
32
|
protected onWorkerDataFail?: (job: Job<TQueueElement, TQueueResult> | undefined, error: Error) => Promise<void>;
|
|
27
33
|
constructor(options: IBullMQOptions<TQueueElement, TQueueResult>);
|
|
28
34
|
static newInstance<T = any, R = any>(opts: IBullMQOptions<T, R>): BullMQHelper<T, R>;
|
|
29
|
-
|
|
35
|
+
/** Structural cluster check: catches a real `Cluster` instance, a duplicated cluster client, and one built from a second ioredis copy (fails `instanceof` across module copies). */
|
|
36
|
+
protected isClusterClient(): boolean;
|
|
37
|
+
protected resolveQueueName(): string;
|
|
30
38
|
configureQueue(): void;
|
|
39
|
+
/** Full `Queue` options: framework defaults, then `this.queueOptions`, then the connection the helper owns - in that precedence order. */
|
|
40
|
+
protected queueOptionsFor(opts: {
|
|
41
|
+
queueName: string;
|
|
42
|
+
}): QueueOptions;
|
|
43
|
+
/** Full `Worker` options: `this.workerOptions`, then the connection/concurrency/lock fields the helper owns - in that precedence order. */
|
|
44
|
+
protected workerOptionsFor(opts: {
|
|
45
|
+
queueName: string;
|
|
46
|
+
processor: Processor<TQueueElement, TQueueResult>;
|
|
47
|
+
}): WorkerOptions;
|
|
31
48
|
/** Client factory seam - overridden in tests to run the helper without Redis. */
|
|
32
49
|
protected buildQueue(opts: {
|
|
33
50
|
queueName: string;
|
|
@@ -41,5 +58,4 @@ export declare class BullMQHelper<TQueueElement = any, TQueueResult = any> exten
|
|
|
41
58
|
configure(): void;
|
|
42
59
|
close(): Promise<void>;
|
|
43
60
|
}
|
|
44
|
-
export {};
|
|
45
61
|
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/bullmq/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/bullmq/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,12 +12,14 @@ class BullMQHelper extends base_1.BaseHelper {
|
|
|
12
12
|
super({ scope: BullMQHelper.name, identifier: options.identifier });
|
|
13
13
|
this.numberOfWorker = 1;
|
|
14
14
|
this.lockDuration = 90 * 60 * 1000;
|
|
15
|
-
const { queueName, redisConnection, role, numberOfWorker = 1, lockDuration = 90 * 60 * 1000, onWorkerData, onWorkerDataCompleted, onWorkerDataFail, } = options;
|
|
15
|
+
const { queueName, redisConnection, role, numberOfWorker = 1, lockDuration = 90 * 60 * 1000, queueOptions, workerOptions, onWorkerData, onWorkerDataCompleted, onWorkerDataFail, } = options;
|
|
16
16
|
this.queueName = queueName;
|
|
17
17
|
this.role = role;
|
|
18
18
|
this.redisConnection = redisConnection;
|
|
19
19
|
this.numberOfWorker = numberOfWorker;
|
|
20
20
|
this.lockDuration = lockDuration;
|
|
21
|
+
this.queueOptions = queueOptions;
|
|
22
|
+
this.workerOptions = workerOptions;
|
|
21
23
|
this.onWorkerData = onWorkerData;
|
|
22
24
|
this.onWorkerDataCompleted = onWorkerDataCompleted;
|
|
23
25
|
this.onWorkerDataFail = onWorkerDataFail;
|
|
@@ -26,9 +28,19 @@ class BullMQHelper extends base_1.BaseHelper {
|
|
|
26
28
|
static newInstance(opts) {
|
|
27
29
|
return new BullMQHelper(opts);
|
|
28
30
|
}
|
|
31
|
+
/** Structural cluster check: catches a real `Cluster` instance, a duplicated cluster client, and one built from a second ioredis copy (fails `instanceof` across module copies). */
|
|
32
|
+
isClusterClient() {
|
|
33
|
+
const client = Object(this.redisConnection.getClient());
|
|
34
|
+
if (client instanceof ioredis_1.Cluster) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
if (Reflect.get(client, 'isCluster') === true) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
return typeof Reflect.get(client, 'nodes') === 'function';
|
|
41
|
+
}
|
|
29
42
|
resolveQueueName() {
|
|
30
|
-
|
|
31
|
-
if (isCluster && !this.queueName.startsWith('{')) {
|
|
43
|
+
if (this.isClusterClient() && !this.queueName.startsWith('{')) {
|
|
32
44
|
return `{${this.queueName}}`;
|
|
33
45
|
}
|
|
34
46
|
return this.queueName;
|
|
@@ -49,23 +61,39 @@ class BullMQHelper extends base_1.BaseHelper {
|
|
|
49
61
|
.error('queue: %s | Queue error! Error: %s | ID: %s', this.queueName, error, this.identifier);
|
|
50
62
|
});
|
|
51
63
|
}
|
|
52
|
-
/**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
64
|
+
/** Full `Queue` options: framework defaults, then `this.queueOptions`, then the connection the helper owns - in that precedence order. */
|
|
65
|
+
queueOptionsFor(opts) {
|
|
66
|
+
this.logger
|
|
67
|
+
.for(this.queueOptionsFor.name)
|
|
68
|
+
.debug('Building queue options | Queue: %s | ID: %s', opts.queueName, this.identifier);
|
|
69
|
+
return {
|
|
56
70
|
defaultJobOptions: {
|
|
57
71
|
removeOnComplete: true,
|
|
58
72
|
removeOnFail: true,
|
|
59
73
|
},
|
|
60
|
-
|
|
74
|
+
...this.queueOptions,
|
|
75
|
+
connection: this.redisConnection.duplicateClient(),
|
|
76
|
+
};
|
|
61
77
|
}
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
|
|
78
|
+
/** Full `Worker` options: `this.workerOptions`, then the connection/concurrency/lock fields the helper owns - in that precedence order. */
|
|
79
|
+
workerOptionsFor(opts) {
|
|
80
|
+
this.logger
|
|
81
|
+
.for(this.workerOptionsFor.name)
|
|
82
|
+
.debug('Building worker options | Queue: %s | ID: %s', opts.queueName, this.identifier);
|
|
83
|
+
return {
|
|
84
|
+
...this.workerOptions,
|
|
65
85
|
connection: this.redisConnection.duplicateClient(),
|
|
66
86
|
concurrency: this.numberOfWorker,
|
|
67
87
|
lockDuration: this.lockDuration,
|
|
68
|
-
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/** Client factory seam - overridden in tests to run the helper without Redis. */
|
|
91
|
+
buildQueue(opts) {
|
|
92
|
+
return new bullmq_1.Queue(opts.queueName, this.queueOptionsFor(opts));
|
|
93
|
+
}
|
|
94
|
+
/** Client factory seam - overridden in tests to run the helper without Redis. */
|
|
95
|
+
buildWorker(opts) {
|
|
96
|
+
return new bullmq_1.Worker(opts.queueName, opts.processor, this.workerOptionsFor(opts));
|
|
69
97
|
}
|
|
70
98
|
configureWorker() {
|
|
71
99
|
if (!this.queueName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../src/modules/queue/bullmq/helper.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,2CAA2C;AAE3C,iEAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../src/modules/queue/bullmq/helper.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,2CAA2C;AAE3C,iEAAsD;AACtD,mCAAoF;AACpF,qCAAkC;AAClC,sCAAuD;AAwBvD,MAAa,YAAsD,SAAQ,iBAAU;IAwBnF,YAAY,OAAoD;QAC9D,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAjB5D,mBAAc,GAAG,CAAC,CAAC;QACnB,iBAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAiBtC,MAAM,EACJ,SAAS,EACT,eAAe,EACf,IAAI,EACJ,cAAc,GAAG,CAAC,EAClB,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAC7B,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,GACjB,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,CAAmB,IAA0B;QAC7D,OAAO,IAAI,YAAY,CAAO,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,oLAAoL;IAC1K,eAAe;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;QAExD,IAAI,MAAM,YAAY,iBAAO,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC;IAC5D,CAAC;IAES,gBAAgB;QACxB,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;iBAC7B,KAAK,CAAC,6BAA6B,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAE5C,uHAAuH;QACvH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,aAAa,CAAC;iBAClB,KAAK,CACJ,6CAA6C,EAC7C,IAAI,CAAC,SAAS,EACd,KAAK,EACL,IAAI,CAAC,UAAU,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0IAA0I;IAChI,eAAe,CAAC,IAA2B;QACnD,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aAC9B,KAAK,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzF,OAAO;YACL,iBAAiB,EAAE;gBACjB,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,IAAI;aACnB;YACD,GAAG,IAAI,CAAC,YAAY;YACpB,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,2IAA2I;IACjI,gBAAgB,CAAC,IAG1B;QACC,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;aAC/B,KAAK,CAAC,8CAA8C,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1F,OAAO;YACL,GAAG,IAAI,CAAC,aAAa;YACrB,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE;YAClD,WAAW,EAAE,IAAI,CAAC,cAAc;YAChC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAED,iFAAiF;IACvE,UAAU,CAAC,IAA2B;QAC9C,OAAO,IAAI,cAAK,CAA8B,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,iFAAiF;IACvE,WAAW,CAAC,IAGrB;QACC,OAAO,IAAI,eAAM,CACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;iBAC9B,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7B,SAAS;YACT,SAAS,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;gBACrB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBAC5C,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;gBAC/B,IAAI,CAAC,MAAM;qBACR,GAAG,CAAC,cAAc,CAAC;qBACnB,IAAI,CACH,mDAAmD,EACnD,IAAI,CAAC,SAAS,EACd,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,UAAU,CAChB,CAAC;gBAEJ,OAAO,SAAyB,CAAC;YACnC,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAA,mBAAU,EAAC;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,kBAAkB;gBACzB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvC,IAAA,mBAAU,EAAC;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,eAAe;gBACtB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC;aACtD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uHAAuH;QACvH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,cAAc,CAAC;iBACnB,KAAK,CACJ,8CAA8C,EAC9C,IAAI,CAAC,SAAS,EACd,KAAK,EACL,IAAI,CAAC,UAAU,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBACxB,KAAK,CACJ,yEAAyE,EACzE,IAAI,CAAC,UAAU,CAChB,CAAC;YACJ,OAAO;QACT,CAAC;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,4JAA4J;QAC5J,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;iBACpB,KAAK,CAAC,0CAA0C,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC,IAAA,yBAAO,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;iBACpB,KAAK,CAAC,yCAAyC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5E,QAAQ,CAAC,IAAI,CAAC,IAAA,yBAAO,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAA,gBAAQ,EAAC;gBACb,OAAO,EAAE,WAAW,IAAI,CAAC,UAAU,6CAA6C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;aACvG,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aACpB,IAAI,CAAC,4CAA4C,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;CACF;AAlRD,oCAkRC"}
|
|
@@ -10,15 +10,19 @@ export interface IKafkaBaseOptions<TClient extends Base<BaseOptions>> {
|
|
|
10
10
|
onBrokerConnect?: TKafkaBrokerEventCallback;
|
|
11
11
|
onBrokerDisconnect?: TKafkaBrokerEventCallback;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Shared health tracking and broker event wiring for all Kafka helpers (producer, consumer, admin); `TClient` is the platformatic client type, passed by subclasses via `super({ client })`.
|
|
15
|
+
*
|
|
16
|
+
* Every member below is `protected`, not `private`, so a producer, consumer, or admin helper can extend this class instead of forking it. That visibility is not a stable contract between minor versions.
|
|
17
|
+
*/
|
|
14
18
|
export declare abstract class BaseKafkaHelper<TClient extends Base<BaseOptions>> extends BaseHelper {
|
|
15
19
|
protected client: TClient;
|
|
16
20
|
protected readonly shutdownTimeout: number;
|
|
17
21
|
protected healthStatus: TKafkaHealthStatus;
|
|
18
22
|
/** Per-broker connection state. Key = "host:port" */
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
protected readonly connectedBrokers: Set<string>;
|
|
24
|
+
protected readonly onBrokerConnect?: TKafkaBrokerEventCallback;
|
|
25
|
+
protected readonly onBrokerDisconnect?: TKafkaBrokerEventCallback;
|
|
22
26
|
constructor(opts: IKafkaBaseOptions<TClient>);
|
|
23
27
|
isHealthy(): boolean;
|
|
24
28
|
isReady(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/kafka/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAA8B,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,IAAI,CAAC,WAAW,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/kafka/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAA8B,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,IAAI,CAAC,WAAW,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;GAIG;AACH,8BAAsB,eAAe,CAAC,OAAO,SAAS,IAAI,CAAC,WAAW,CAAC,CAAE,SAAQ,UAAU;IACzF,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAE3C,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAA+B;IAEzE,qDAAqD;IACrD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,cAAqB;IAExD,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;gBAEtD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAQ5C,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,OAAO;IAIlB,eAAe,IAAI,kBAAkB;IAIrC,uBAAuB,IAAI,MAAM;IAIjC,SAAS,CAAC,sBAAsB;IAqBhC,SAAS,CAAC,yBAAyB;IAwBnC,SAAS,CAAC,qBAAqB;IAkB/B,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAMvC,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAMzC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAO9C,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAKlC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,kMAAkM;IAClM,SAAS,CAAC,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;cAelC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBrD"}
|
|
@@ -5,7 +5,11 @@ const error_1 = require("../../error");
|
|
|
5
5
|
const base_1 = require("../../base");
|
|
6
6
|
const common_1 = require("../common");
|
|
7
7
|
const constants_1 = require("./common/constants");
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Shared health tracking and broker event wiring for all Kafka helpers (producer, consumer, admin); `TClient` is the platformatic client type, passed by subclasses via `super({ client })`.
|
|
10
|
+
*
|
|
11
|
+
* Every member below is `protected`, not `private`, so a producer, consumer, or admin helper can extend this class instead of forking it. That visibility is not a stable contract between minor versions.
|
|
12
|
+
*/
|
|
9
13
|
class BaseKafkaHelper extends base_1.BaseHelper {
|
|
10
14
|
constructor(opts) {
|
|
11
15
|
super({ scope: opts.scope, identifier: opts.identifier });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/modules/queue/kafka/base.ts"],"names":[],"mappings":";;;AACA,2CAA2C;AAC3C,yCAA4C;AAE5C,sCAAuC;AACvC,kDAK4B;AAY5B
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/modules/queue/kafka/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,16 @@ export type TKafkaMessageErrorCallback<KeyType = string, ValueType = string, Hea
|
|
|
13
13
|
error: Error;
|
|
14
14
|
message?: Message<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
15
15
|
}) => ValueOrPromise<void>;
|
|
16
|
+
/** The stream 'error' event - falls back to `onMessageError` when unset. */
|
|
17
|
+
export type TKafkaStreamErrorCallback = (opts: {
|
|
18
|
+
error: Error;
|
|
19
|
+
}) => ValueOrPromise<void>;
|
|
20
|
+
/** A reconnect failure (client rebuild or the reconnect attempt itself) - falls back to `onMessageError` when unset. */
|
|
21
|
+
export type TKafkaReconnectErrorCallback = (opts: {
|
|
22
|
+
error: Error;
|
|
23
|
+
attempt: number;
|
|
24
|
+
maxAttempts: number;
|
|
25
|
+
}) => ValueOrPromise<void>;
|
|
16
26
|
export type TKafkaGroupJoinCallback = (opts: {
|
|
17
27
|
groupId: string;
|
|
18
28
|
memberId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbacks.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/queue/kafka/common/types/callbacks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"callbacks.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/queue/kafka/common/types/callbacks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Deserializers, MessagesStreamFallbackModeValue, MessagesStreamModeValue, SchemaRegistry } from '@platformatic/kafka';
|
|
2
2
|
import { TKafkaGroupProtocol } from '../constants';
|
|
3
|
-
import { TKafkaBrokerEventCallback, TKafkaGroupJoinCallback, TKafkaGroupLeaveCallback, TKafkaGroupRebalanceCallback, TKafkaHeartbeatErrorCallback, TKafkaLagCallback, TKafkaLagErrorCallback, TKafkaMessageCallback, TKafkaMessageDoneCallback, TKafkaMessageErrorCallback } from './callbacks';
|
|
3
|
+
import { TKafkaBrokerEventCallback, TKafkaGroupJoinCallback, TKafkaGroupLeaveCallback, TKafkaGroupRebalanceCallback, TKafkaHeartbeatErrorCallback, TKafkaLagCallback, TKafkaLagErrorCallback, TKafkaMessageCallback, TKafkaMessageDoneCallback, TKafkaMessageErrorCallback, TKafkaReconnectErrorCallback, TKafkaStreamErrorCallback } from './callbacks';
|
|
4
4
|
import { IKafkaConnectionOptions } from './connection';
|
|
5
5
|
export interface IKafkaConsumerOptions<KeyType = string, ValueType = string, HeaderKeyType = string, HeaderValueType = string> extends IKafkaConnectionOptions {
|
|
6
6
|
groupId: string;
|
|
@@ -24,6 +24,10 @@ export interface IKafkaConsumerOptions<KeyType = string, ValueType = string, Hea
|
|
|
24
24
|
onMessage?: TKafkaMessageCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
25
25
|
onMessageDone?: TKafkaMessageDoneCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
26
26
|
onMessageError?: TKafkaMessageErrorCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
27
|
+
/** Stream 'error' events; falls back to `onMessageError` when unset. */
|
|
28
|
+
onStreamError?: TKafkaStreamErrorCallback;
|
|
29
|
+
/** Reconnect failures (client rebuild or the reconnect attempt); falls back to `onMessageError` when unset. */
|
|
30
|
+
onReconnectError?: TKafkaReconnectErrorCallback;
|
|
27
31
|
onGroupJoin?: TKafkaGroupJoinCallback;
|
|
28
32
|
onGroupLeave?: TKafkaGroupLeaveCallback;
|
|
29
33
|
onGroupRebalance?: TKafkaGroupRebalanceCallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/queue/kafka/common/types/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,+BAA+B,EAC/B,uBAAuB,EACvB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/queue/kafka/common/types/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,+BAA+B,EAC/B,uBAAuB,EACvB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,WAAW,qBAAqB,CACpC,OAAO,GAAG,MAAM,EAChB,SAAS,GAAG,MAAM,EAClB,aAAa,GAAG,MAAM,EACtB,eAAe,GAAG,MAAM,CACxB,SAAQ,uBAAuB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3F,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAEhG,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAE/C,SAAS,CAAC,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IACtF,aAAa,CAAC,EAAE,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAC9F,cAAc,CAAC,EAAE,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAChG,wEAAwE;IACxE,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,+GAA+G;IAC/G,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAEhD,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACxC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAChD,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAEhD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAC/B,YAAY,CAAC,EAAE,+BAA+B,CAAC;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
|
|
@@ -1,28 +1,41 @@
|
|
|
1
1
|
import type { MessagesStream } from '@platformatic/kafka';
|
|
2
2
|
import { Consumer } from '@platformatic/kafka';
|
|
3
3
|
import { BaseKafkaHelper } from './base';
|
|
4
|
-
import type { IKafkaConsumeStartOptions, IKafkaConsumerOptions } from './common/types';
|
|
5
|
-
/**
|
|
4
|
+
import type { IKafkaConsumeStartOptions, IKafkaConsumerOptions, TKafkaGroupJoinCallback, TKafkaGroupLeaveCallback, TKafkaGroupRebalanceCallback, TKafkaHeartbeatErrorCallback, TKafkaLagCallback, TKafkaLagErrorCallback, TKafkaMessageCallback, TKafkaMessageDoneCallback, TKafkaMessageErrorCallback, TKafkaReconnectErrorCallback, TKafkaStreamErrorCallback } from './common/types';
|
|
5
|
+
/**
|
|
6
|
+
* Wrapper around `@platformatic/kafka` Consumer with lifecycle management, health tracking, graceful shutdown, message callbacks, and lag monitoring.
|
|
7
|
+
*
|
|
8
|
+
* Every member below is `protected`, not `private`, so a consumer extends this class instead of forking it. That visibility is not a stable contract between minor versions.
|
|
9
|
+
*/
|
|
6
10
|
export declare class KafkaConsumerHelper<KeyType = string, ValueType = string, HeaderKeyType = string, HeaderValueType = string> extends BaseKafkaHelper<Consumer<KeyType, ValueType, HeaderKeyType, HeaderValueType>> {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
protected stream: MessagesStream<KeyType, ValueType, HeaderKeyType, HeaderValueType> | null;
|
|
12
|
+
protected consumeLoop: Promise<void> | null;
|
|
13
|
+
protected consumeStartOptions: IKafkaConsumeStartOptions | null;
|
|
14
|
+
protected lagMonitoringActive: boolean;
|
|
15
|
+
protected lagMonitoringOptions: {
|
|
16
|
+
topics: string[];
|
|
17
|
+
interval?: number;
|
|
18
|
+
} | null;
|
|
19
|
+
protected sessionLikelyStale: boolean;
|
|
20
|
+
protected readonly onMessage?: TKafkaMessageCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
21
|
+
protected readonly onMessageDone?: TKafkaMessageDoneCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
22
|
+
protected readonly onMessageError?: TKafkaMessageErrorCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
23
|
+
protected readonly onStreamError?: TKafkaStreamErrorCallback;
|
|
24
|
+
protected readonly onReconnectError?: TKafkaReconnectErrorCallback;
|
|
25
|
+
protected readonly onGroupJoin?: TKafkaGroupJoinCallback;
|
|
26
|
+
protected readonly onGroupLeave?: TKafkaGroupLeaveCallback;
|
|
27
|
+
protected readonly onGroupRebalance?: TKafkaGroupRebalanceCallback;
|
|
28
|
+
protected readonly onHeartbeatError?: TKafkaHeartbeatErrorCallback;
|
|
29
|
+
protected readonly onLag?: TKafkaLagCallback;
|
|
30
|
+
protected readonly onLagError?: TKafkaLagErrorCallback;
|
|
31
|
+
protected readonly initialOptions: IKafkaConsumerOptions<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
23
32
|
constructor(opts: IKafkaConsumerOptions<KeyType, ValueType, HeaderKeyType, HeaderValueType>);
|
|
24
33
|
static newInstance<KeyType = string, ValueType = string, HeaderKeyType = string, HeaderValueType = string>(opts: IKafkaConsumerOptions<KeyType, ValueType, HeaderKeyType, HeaderValueType>): KafkaConsumerHelper<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
25
|
-
|
|
34
|
+
/** The instance seam every rebuild goes through; the constructor alone uses the static factory because no instance exists yet. Override this to hand a rebuilt consumer different options or a test double. */
|
|
35
|
+
protected buildClient(opts: {
|
|
36
|
+
options: IKafkaConsumerOptions<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
37
|
+
}): Consumer<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
38
|
+
protected static buildConsumerClient<KeyType = string, ValueType = string, HeaderKeyType = string, HeaderValueType = string>(opts: IKafkaConsumerOptions<KeyType, ValueType, HeaderKeyType, HeaderValueType>): Consumer<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
26
39
|
getConsumer(): Consumer<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
27
40
|
getStream(): MessagesStream<KeyType, ValueType, HeaderKeyType, HeaderValueType> | null;
|
|
28
41
|
isReady(): boolean;
|
|
@@ -36,15 +49,38 @@ export declare class KafkaConsumerHelper<KeyType = string, ValueType = string, H
|
|
|
36
49
|
close(opts?: {
|
|
37
50
|
isForce?: boolean;
|
|
38
51
|
}): Promise<void>;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
52
|
+
protected startConsumeLoop(opts: {
|
|
53
|
+
messageHandler: TKafkaMessageCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
54
|
+
doneHandler?: TKafkaMessageDoneCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
55
|
+
errorHandler?: TKafkaMessageErrorCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
56
|
+
reconnectDelayMs: number;
|
|
57
|
+
maxReconnectAttempts: number;
|
|
58
|
+
}): Promise<void>;
|
|
59
|
+
protected consumeMessages(opts: {
|
|
60
|
+
reconnectDelayMs: number;
|
|
61
|
+
maxReconnectAttempts: number;
|
|
62
|
+
errorHandler?: TKafkaMessageErrorCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
63
|
+
}): AsyncGenerator<import("@platformatic/kafka", { with: { "resolution-mode": "import" } }).Message<KeyType, ValueType, HeaderKeyType, HeaderValueType>, void, any>;
|
|
64
|
+
/** Silent only while the consume loop is alive AND the erroring stream is the one it drains - the iterator then reports the same error once. A dead or replaced stream, or pull mode, reports here. */
|
|
65
|
+
protected reportStreamError(opts: {
|
|
66
|
+
error: Error;
|
|
67
|
+
scope: string;
|
|
68
|
+
stream: unknown;
|
|
69
|
+
}): void;
|
|
70
|
+
protected drainStream(opts: {
|
|
71
|
+
errorHandler?: TKafkaMessageErrorCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
72
|
+
}): AsyncGenerator<import("@platformatic/kafka", { with: { "resolution-mode": "import" } }).Message<KeyType, ValueType, HeaderKeyType, HeaderValueType>, void, any>;
|
|
73
|
+
protected attemptReconnect(opts: {
|
|
74
|
+
attempt: number;
|
|
75
|
+
maxAttempts: number;
|
|
76
|
+
delayMs: number;
|
|
77
|
+
errorHandler?: TKafkaMessageErrorCallback<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
|
|
78
|
+
}): Promise<void>;
|
|
79
|
+
protected rebuildClient(): Promise<void>;
|
|
80
|
+
protected closeOldClient(oldClient: Consumer<KeyType, ValueType, HeaderKeyType, HeaderValueType>): Promise<void>;
|
|
81
|
+
protected handleAllBrokersDown(reason: 'disconnected' | 'failed'): void;
|
|
82
|
+
protected destroyDeadStream(): void;
|
|
83
|
+
protected closeStream(): Promise<void>;
|
|
48
84
|
protected unconfigureBrokerEvents(): void;
|
|
49
85
|
protected configureBrokerEvents(): void;
|
|
50
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/kafka/consumer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/kafka/consumer.ts"],"names":[],"mappings":"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"}
|