@signageos/lib 23.8.2-master.4407 → 23.9.0
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/AMQP/EventSourcing/Locked/lockedEventConsumer.d.ts +7 -0
- package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.js +175 -0
- package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.js.map +1 -1
- package/dist/AMQP/EventSourcing/eventQueue.d.ts +1 -1
- package/dist/AMQP/EventSourcing/eventQueue.js +1 -1
- package/dist/AMQP/EventSourcing/eventQueueDomain.d.ts +13 -0
- package/dist/AMQP/EventSourcing/eventQueueDomain.js +252 -5
- package/dist/AMQP/EventSourcing/eventQueueDomain.js.map +1 -1
- package/dist/AMQP/QueueSubscriber.d.ts +17 -1
- package/dist/AMQP/QueueSubscriber.js +158 -0
- package/dist/AMQP/QueueSubscriber.js.map +1 -1
- package/package.json +2 -2
|
@@ -17,6 +17,10 @@ export interface LockedBindOptions {
|
|
|
17
17
|
* You can scale the number of consumers that multiply the total number of possibly concurrently processed events.
|
|
18
18
|
*/
|
|
19
19
|
distributedPrefetchCount?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum time to wait before flushing the batch even if maxBatchSize is not reached.
|
|
22
|
+
*/
|
|
23
|
+
flushBatchDelayMs?: number;
|
|
20
24
|
/**
|
|
21
25
|
* Delay in milliseconds before redelivering the event in case of error.
|
|
22
26
|
* It's dead-lettered on the first error and redirected to the event_rejected queue for the specified delay.
|
|
@@ -56,8 +60,11 @@ export declare class LockedEventConsumer {
|
|
|
56
60
|
private withLock;
|
|
57
61
|
constructor(amqpConnection: IAMQPConnection);
|
|
58
62
|
bind<TPayload extends IEventPayload>(eventTypes: string[], domainName: string, consumerType: string, onEvent: (event: IEvent<TPayload>) => Promise<void>, bindOptions?: LockedBindOptions): Promise<() => Promise<() => Promise<void>>>;
|
|
63
|
+
bindBatch<TPayload extends IEventPayload>(eventTypes: string[], domainName: string, consumerType: string, onEventsBatch: (events: IEvent<TPayload>[]) => Promise<void>, bindOptions?: LockedBindOptions): Promise<() => Promise<() => Promise<void>>>;
|
|
59
64
|
private createMainBindOptions;
|
|
60
65
|
private createConsumeEvent;
|
|
66
|
+
private createConsumeEventsBatch;
|
|
61
67
|
private createDistributedBindOptions;
|
|
62
68
|
private createDistributeEvent;
|
|
69
|
+
private createDistributeEventsBatch;
|
|
63
70
|
}
|
|
@@ -64,6 +64,7 @@ var debug = (0, debug_1.default)('@signageos/lib:AMQP:EventSourcing:Locked:Locke
|
|
|
64
64
|
var DEFAULT_BIND_OPTIONS = {
|
|
65
65
|
mainPrefetchCount: 1,
|
|
66
66
|
distributedPrefetchCount: 0,
|
|
67
|
+
flushBatchDelayMs: 50,
|
|
67
68
|
redeliverDelayMs: 30e3,
|
|
68
69
|
legacyNotification: false,
|
|
69
70
|
};
|
|
@@ -78,6 +79,32 @@ var distributedEventQueueBindOptions = {
|
|
|
78
79
|
durable: false,
|
|
79
80
|
};
|
|
80
81
|
var DEFAULT_LOCK_KEY = '$default';
|
|
82
|
+
function getEventsType(events) {
|
|
83
|
+
if (events.length === 0) {
|
|
84
|
+
throw new Error('No events to get type from');
|
|
85
|
+
}
|
|
86
|
+
var eventType = events[0].payload.type;
|
|
87
|
+
for (var _i = 0, events_1 = events; _i < events_1.length; _i++) {
|
|
88
|
+
var event_1 = events_1[_i];
|
|
89
|
+
if (event_1.payload.type !== eventType) {
|
|
90
|
+
throw new Error('Events have different types');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return eventType;
|
|
94
|
+
}
|
|
95
|
+
function getLockKeys(events) {
|
|
96
|
+
var _a;
|
|
97
|
+
var lockKeysSet = new Set();
|
|
98
|
+
for (var _i = 0, events_2 = events; _i < events_2.length; _i++) {
|
|
99
|
+
var event_2 = events_2[_i];
|
|
100
|
+
var lockKeys = (_a = event_2.lockKeys) !== null && _a !== void 0 ? _a : [DEFAULT_LOCK_KEY]; // TODO default lock could be removed one day in future when all events are migrated
|
|
101
|
+
for (var _b = 0, lockKeys_1 = lockKeys; _b < lockKeys_1.length; _b++) {
|
|
102
|
+
var lockKey = lockKeys_1[_b];
|
|
103
|
+
lockKeysSet.add(lockKey);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return Array.from(lockKeysSet);
|
|
107
|
+
}
|
|
81
108
|
/**
|
|
82
109
|
* Event consumer that consumes events in a locked manner with timestamp-based ordering.
|
|
83
110
|
*
|
|
@@ -166,6 +193,69 @@ var LockedEventConsumer = /** @class */ (function () {
|
|
|
166
193
|
});
|
|
167
194
|
});
|
|
168
195
|
};
|
|
196
|
+
LockedEventConsumer.prototype.bindBatch = function (eventTypes_1, domainName_1, consumerType_1, onEventsBatch_1) {
|
|
197
|
+
return __awaiter(this, arguments, void 0, function (eventTypes, domainName, consumerType, onEventsBatch, bindOptions) {
|
|
198
|
+
var mainBindOptions, distributedBindOptions, consumeEventsBatch, cancelConsumptions, cancelMain, distributeEventsBatch, cancelDistributed, cancelMain;
|
|
199
|
+
var _this = this;
|
|
200
|
+
var _a;
|
|
201
|
+
if (bindOptions === void 0) { bindOptions = DEFAULT_BIND_OPTIONS; }
|
|
202
|
+
return __generator(this, function (_b) {
|
|
203
|
+
switch (_b.label) {
|
|
204
|
+
case 0:
|
|
205
|
+
bindOptions = __assign(__assign({}, DEFAULT_BIND_OPTIONS), bindOptions);
|
|
206
|
+
return [4 /*yield*/, (0, eventQueueDomain_1.prepareRejectedDomain)(this.amqpConnection, domainName, consumerType, {
|
|
207
|
+
redeliverDelayMs: (_a = bindOptions.redeliverDelayMs) !== null && _a !== void 0 ? _a : DEFAULT_BIND_OPTIONS.redeliverDelayMs,
|
|
208
|
+
})];
|
|
209
|
+
case 1:
|
|
210
|
+
_b.sent();
|
|
211
|
+
mainBindOptions = this.createMainBindOptions(bindOptions);
|
|
212
|
+
distributedBindOptions = this.createDistributedBindOptions(bindOptions);
|
|
213
|
+
consumeEventsBatch = this.createConsumeEventsBatch(domainName, consumerType, mainBindOptions, onEventsBatch);
|
|
214
|
+
cancelConsumptions = [];
|
|
215
|
+
if (!(bindOptions.distributedPrefetchCount === 0)) return [3 /*break*/, 3];
|
|
216
|
+
return [4 /*yield*/, (0, eventQueueDomain_1.bindDomainBatch)(this.amqpConnection, eventTypes, domainName, consumerType, consumeEventsBatch, mainBindOptions, {
|
|
217
|
+
flushBatchDelayMs: 100,
|
|
218
|
+
})];
|
|
219
|
+
case 2:
|
|
220
|
+
cancelMain = _b.sent();
|
|
221
|
+
cancelConsumptions.push(cancelMain);
|
|
222
|
+
return [3 /*break*/, 6];
|
|
223
|
+
case 3:
|
|
224
|
+
distributeEventsBatch = this.createDistributeEventsBatch(domainName, consumerType, distributedBindOptions);
|
|
225
|
+
return [4 /*yield*/, (0, eventQueueDomain_1.bindRPCDomainBatch)(this.amqpConnection, domainName, consumerType, consumeEventsBatch, distributedBindOptions)];
|
|
226
|
+
case 4:
|
|
227
|
+
cancelDistributed = _b.sent();
|
|
228
|
+
return [4 /*yield*/, (0, eventQueueDomain_1.bindDomainBatch)(this.amqpConnection, eventTypes, domainName, consumerType, distributeEventsBatch, mainBindOptions)];
|
|
229
|
+
case 5:
|
|
230
|
+
cancelMain = _b.sent();
|
|
231
|
+
cancelConsumptions.push(cancelDistributed);
|
|
232
|
+
cancelConsumptions.push(cancelMain);
|
|
233
|
+
_b.label = 6;
|
|
234
|
+
case 6: return [2 /*return*/, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
235
|
+
var closeChannels;
|
|
236
|
+
var _this = this;
|
|
237
|
+
return __generator(this, function (_a) {
|
|
238
|
+
switch (_a.label) {
|
|
239
|
+
case 0: return [4 /*yield*/, Promise.all(cancelConsumptions.map(function (cancel) { return cancel(); }))];
|
|
240
|
+
case 1:
|
|
241
|
+
closeChannels = _a.sent();
|
|
242
|
+
return [2 /*return*/, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
243
|
+
return __generator(this, function (_a) {
|
|
244
|
+
switch (_a.label) {
|
|
245
|
+
case 0: return [4 /*yield*/, Promise.all(closeChannels.map(function (close) { return close(); }))];
|
|
246
|
+
case 1:
|
|
247
|
+
_a.sent();
|
|
248
|
+
return [2 /*return*/];
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
}); }];
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
}); }];
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
};
|
|
169
259
|
LockedEventConsumer.prototype.createMainBindOptions = function (bindOptions) {
|
|
170
260
|
var _a;
|
|
171
261
|
return __assign(__assign({}, mainEventQueueBindOptions), { prefetchCount: bindOptions.mainPrefetchCount, notification: (_a = bindOptions.legacyNotification) !== null && _a !== void 0 ? _a : false });
|
|
@@ -213,6 +303,51 @@ var LockedEventConsumer = /** @class */ (function () {
|
|
|
213
303
|
});
|
|
214
304
|
}); };
|
|
215
305
|
};
|
|
306
|
+
LockedEventConsumer.prototype.createConsumeEventsBatch = function (domainName, consumerType, bindOptions, onEventsBatch) {
|
|
307
|
+
var _this = this;
|
|
308
|
+
return function (events) { return __awaiter(_this, void 0, void 0, function () {
|
|
309
|
+
var eventType, firstEvent, start, commandStart, logMetadata, e_2;
|
|
310
|
+
return __generator(this, function (_a) {
|
|
311
|
+
switch (_a.label) {
|
|
312
|
+
case 0:
|
|
313
|
+
eventType = getEventsType(events);
|
|
314
|
+
firstEvent = events[0];
|
|
315
|
+
start = new Date().getTime();
|
|
316
|
+
eventConsumerMetrics_1.metrics.emit('events_total', { eventType: eventType }, events.length);
|
|
317
|
+
eventConsumerMetrics_1.metrics.emit('event_duration_seconds_total', { eventType: eventType, phase: 'eventStart' }, start - firstEvent.receivedAt.getTime());
|
|
318
|
+
commandStart = firstEvent.receivedAt.getTime() - firstEvent.dispatchedAt.getTime();
|
|
319
|
+
if (commandStart !== 0) {
|
|
320
|
+
eventConsumerMetrics_1.metrics.emit('event_duration_seconds_total', { eventType: eventType, phase: 'commandStart' }, firstEvent.receivedAt.getTime() - firstEvent.dispatchedAt.getTime());
|
|
321
|
+
}
|
|
322
|
+
logMetadata = {
|
|
323
|
+
domainName: domainName,
|
|
324
|
+
consumerType: consumerType,
|
|
325
|
+
bindOptions: bindOptions,
|
|
326
|
+
events: events,
|
|
327
|
+
};
|
|
328
|
+
debug("Consuming events batch ".concat(eventType, " from ").concat(domainName, ".").concat(consumerType), logMetadata);
|
|
329
|
+
_a.label = 1;
|
|
330
|
+
case 1:
|
|
331
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
332
|
+
return [4 /*yield*/, onEventsBatch(events)];
|
|
333
|
+
case 2:
|
|
334
|
+
_a.sent();
|
|
335
|
+
eventConsumerMetrics_1.metrics.emit('event_success_total', { eventType: eventType }, events.length);
|
|
336
|
+
return [3 /*break*/, 5];
|
|
337
|
+
case 3:
|
|
338
|
+
e_2 = _a.sent();
|
|
339
|
+
eventConsumerMetrics_1.metrics.emit('event_error_total', { eventType: eventType }, events.length);
|
|
340
|
+
debug("Error consuming events batch ".concat(eventType, " from ").concat(domainName, ".").concat(consumerType), logMetadata);
|
|
341
|
+
throw e_2;
|
|
342
|
+
case 4:
|
|
343
|
+
eventConsumerMetrics_1.metrics.emit('event_duration_seconds_total', { eventType: eventType, phase: 'processing' }, (new Date().getTime() - start) / events.length);
|
|
344
|
+
eventConsumerMetrics_1.metrics.emit('event_duration_seconds', { eventType: eventType }, (new Date().getTime() - start) / events.length);
|
|
345
|
+
return [7 /*endfinally*/];
|
|
346
|
+
case 5: return [2 /*return*/];
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
}); };
|
|
350
|
+
};
|
|
216
351
|
LockedEventConsumer.prototype.createDistributedBindOptions = function (bindOptions) {
|
|
217
352
|
return __assign(__assign({}, distributedEventQueueBindOptions), { prefetchCount: bindOptions.distributedPrefetchCount });
|
|
218
353
|
};
|
|
@@ -255,6 +390,46 @@ var LockedEventConsumer = /** @class */ (function () {
|
|
|
255
390
|
});
|
|
256
391
|
}); };
|
|
257
392
|
};
|
|
393
|
+
LockedEventConsumer.prototype.createDistributeEventsBatch = function (domainName, consumerType, bindOptions) {
|
|
394
|
+
var _this = this;
|
|
395
|
+
return function (events) { return __awaiter(_this, void 0, void 0, function () {
|
|
396
|
+
var eventType, firstEvent, logMetadata, lockKeys;
|
|
397
|
+
var _this = this;
|
|
398
|
+
return __generator(this, function (_a) {
|
|
399
|
+
switch (_a.label) {
|
|
400
|
+
case 0:
|
|
401
|
+
eventType = getEventsType(events);
|
|
402
|
+
firstEvent = events[0];
|
|
403
|
+
logMetadata = {
|
|
404
|
+
domainName: domainName,
|
|
405
|
+
consumerType: consumerType,
|
|
406
|
+
bindOptions: bindOptions,
|
|
407
|
+
events: events,
|
|
408
|
+
};
|
|
409
|
+
debug("Received events batch ".concat(eventType, " to ").concat(domainName, ".").concat(consumerType), logMetadata);
|
|
410
|
+
lockKeys = getLockKeys(events);
|
|
411
|
+
return [4 /*yield*/, this.withLock(lockKeys, firstEvent, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
412
|
+
return __generator(this, function (_a) {
|
|
413
|
+
switch (_a.label) {
|
|
414
|
+
case 0:
|
|
415
|
+
debug("Distributing events batch ".concat(eventType, " to ").concat(domainName, ".").concat(consumerType), logMetadata);
|
|
416
|
+
// TODO Add timeout for processing event, because it can be stucked until the instance is restarted
|
|
417
|
+
return [4 /*yield*/, (0, eventQueueDomain_1.processRPCDomainBatch)(this.amqpConnection, domainName, consumerType, events, { persistent: false })];
|
|
418
|
+
case 1:
|
|
419
|
+
// TODO Add timeout for processing event, because it can be stucked until the instance is restarted
|
|
420
|
+
_a.sent();
|
|
421
|
+
return [2 /*return*/];
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
}); })];
|
|
425
|
+
case 1:
|
|
426
|
+
_a.sent();
|
|
427
|
+
debug("Distributed events batch consumed ".concat(eventType, " to ").concat(domainName, ".").concat(consumerType), logMetadata);
|
|
428
|
+
return [2 /*return*/];
|
|
429
|
+
}
|
|
430
|
+
});
|
|
431
|
+
}); };
|
|
432
|
+
};
|
|
258
433
|
return LockedEventConsumer;
|
|
259
434
|
}());
|
|
260
435
|
exports.LockedEventConsumer = LockedEventConsumer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockedEventConsumer.js","sourceRoot":"","sources":["../../../../src/AMQP/EventSourcing/Locked/lockedEventConsumer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"lockedEventConsumer.js","sourceRoot":"","sources":["../../../../src/AMQP/EventSourcing/Locked/lockedEventConsumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { enqueue, enqueueBatch, enqueueNotification, enqueueToConsumer } from '.
|
|
|
10
10
|
* It automatically asserts exchanges and queues that is non-standard.
|
|
11
11
|
* The fetched message is automatically acked.
|
|
12
12
|
* This function is meant mostly for testing purposes.
|
|
13
|
-
* @deprecated
|
|
13
|
+
* @deprecated Use fetchDomain or fetchDetached instead
|
|
14
14
|
*/
|
|
15
15
|
export declare function fetchNext<TPayload extends IEventPayload>(amqpConnection: IAMQPConnection, eventType: string, consumerType: string, bindOptions?: IBindOptions, queueOptions?: IQueueOptions, domainName?: string): Promise<IEvent<TPayload> | null>;
|
|
16
16
|
export {
|
|
@@ -70,7 +70,7 @@ Object.defineProperty(exports, "enqueueToConsumer", { enumerable: true, get: fun
|
|
|
70
70
|
* It automatically asserts exchanges and queues that is non-standard.
|
|
71
71
|
* The fetched message is automatically acked.
|
|
72
72
|
* This function is meant mostly for testing purposes.
|
|
73
|
-
* @deprecated
|
|
73
|
+
* @deprecated Use fetchDomain or fetchDetached instead
|
|
74
74
|
*/
|
|
75
75
|
function fetchNext(amqpConnection_1, eventType_1, consumerType_1) {
|
|
76
76
|
return __awaiter(this, arguments, void 0, function (amqpConnection, eventType, consumerType, bindOptions, queueOptions, domainName) {
|
|
@@ -23,12 +23,25 @@ export type RPCDomainResponse = RPCDomainResponseFailed | RPCDomainResponseSucce
|
|
|
23
23
|
*/
|
|
24
24
|
export declare function getDomainConsumeOptions(options: IBindOptions, consumerType: string, domainName: string): IConsumeOptions;
|
|
25
25
|
export declare function processRPCDomain(amqpConnection: IAMQPConnection, domainName: string, consumerType: string, event: IEvent<IEventPayload>, messageOptions?: IMessageOptions, headers?: Record<string, string>): Promise<void>;
|
|
26
|
+
export declare function processRPCDomainBatch(amqpConnection: IAMQPConnection, domainName: string, consumerType: string, events: IEvent<IEventPayload>[], messageOptions?: IMessageOptions, headers?: Record<string, string>): Promise<void>;
|
|
26
27
|
export declare function bindRPCDomain<TPayload extends IEventPayload>(amqpConnection: IAMQPConnection, domainName: string, consumerType: string, onEvent: (event: IEvent<TPayload>, headers: object) => Promise<void>, options?: IBindOptions): Promise<import("../QueueSubscriber").ICancelConsumption>;
|
|
28
|
+
export declare function bindRPCDomainBatch<TPayload extends IEventPayload>(amqpConnection: IAMQPConnection, domainName: string, consumerType: string, onEvents: (events: IEvent<TPayload>[]) => Promise<void>, options?: IBindOptions): Promise<import("../QueueSubscriber").ICancelConsumption>;
|
|
29
|
+
export declare function fetchDomain<TPayload extends IEventPayload>(amqpConnection: IAMQPConnection, domainName: string, consumerType: string, options?: IBindOptions, maxMessages?: number, breakCondition?: (nextEvent: IEvent<TPayload>) => boolean): Promise<IEventDomainMessage<TPayload>[]>;
|
|
27
30
|
/**
|
|
28
31
|
* Bind more event types into one single queue.
|
|
29
32
|
* This queue name contains specified domainName and is prefixed by consumerType.
|
|
30
33
|
*/
|
|
31
34
|
export declare function bindDomain<TPayload extends IEventPayload>(amqpConnection: IAMQPConnection, eventTypes: string[], domainName: string, consumerType: string, onEvent: (event: IEvent<TPayload>, headers: object) => Promise<void>, options?: IBindOptions): Promise<import("../QueueSubscriber").ICancelConsumption>;
|
|
35
|
+
/**
|
|
36
|
+
* Bind more event types into one single queue and consume them in batches.
|
|
37
|
+
* This queue name contains specified domainName and is prefixed by consumerType.
|
|
38
|
+
* One batch contains up to prefetchCount events and currently it has to be all of the same type.
|
|
39
|
+
* All events in the batch are in the same order as they were in the queue.
|
|
40
|
+
*/
|
|
41
|
+
export declare function bindDomainBatch<TPayload extends IEventPayload>(amqpConnection: IAMQPConnection, eventTypes: string[], domainName: string, consumerType: string, onEvents: (events: IEvent<TPayload>[]) => Promise<void>, options?: IBindOptions, batchOptions?: {
|
|
42
|
+
/** Maximum time to wait before flushing the batch even if maxBatchSize is not reached */
|
|
43
|
+
flushBatchDelayMs?: number;
|
|
44
|
+
}): Promise<() => Promise<import("../QueueSubscriber").ICloseChannel>>;
|
|
32
45
|
/**
|
|
33
46
|
* Bind all events which were rejected with enqueue=false by bindMany function (the domain type only).
|
|
34
47
|
*/
|
|
@@ -46,19 +46,31 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
49
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
53
|
exports.getDomainConsumeOptions = getDomainConsumeOptions;
|
|
51
54
|
exports.processRPCDomain = processRPCDomain;
|
|
55
|
+
exports.processRPCDomainBatch = processRPCDomainBatch;
|
|
52
56
|
exports.bindRPCDomain = bindRPCDomain;
|
|
57
|
+
exports.bindRPCDomainBatch = bindRPCDomainBatch;
|
|
58
|
+
exports.fetchDomain = fetchDomain;
|
|
53
59
|
exports.bindDomain = bindDomain;
|
|
60
|
+
exports.bindDomainBatch = bindDomainBatch;
|
|
54
61
|
exports.bindRejectedDomain = bindRejectedDomain;
|
|
55
62
|
exports.fetchRejectedDomain = fetchRejectedDomain;
|
|
56
63
|
exports.prepareDomain = prepareDomain;
|
|
57
64
|
exports.prepareRejectedDomain = prepareRejectedDomain;
|
|
58
65
|
var eventQueue_utils_1 = require("./eventQueue.utils");
|
|
66
|
+
var debug_1 = __importDefault(require("debug"));
|
|
67
|
+
var debug = (0, debug_1.default)('@signageos/lib:AMQP:eventQueueDomain');
|
|
59
68
|
function getRPCDomainQueueName(consumerType, domainName) {
|
|
60
69
|
return consumerType + '_' + domainName + '.rpc_v2';
|
|
61
70
|
}
|
|
71
|
+
function getRPCDomainBatchQueueName(consumerType, domainName) {
|
|
72
|
+
return consumerType + '_' + domainName + '.rpc_batch';
|
|
73
|
+
}
|
|
62
74
|
function getRejectedDomainQueueName(consumerType, domainName) {
|
|
63
75
|
return 'events_rejected.' + (0, eventQueue_utils_1.getQueueName)(consumerType, domainName);
|
|
64
76
|
}
|
|
@@ -89,11 +101,17 @@ var createRPCDomainChannel = function (amqpConnection, domainName, options) {
|
|
|
89
101
|
});
|
|
90
102
|
}); };
|
|
91
103
|
};
|
|
92
|
-
var createBindDomainChannel = function (amqpConnection, eventTypes, domainName, options) {
|
|
104
|
+
var createBindDomainChannel = function (amqpConnection, eventTypes, domainName, options) {
|
|
105
|
+
return createGenericBindDomainChannel(amqpConnection, eventTypes, 'single.' + domainName, options);
|
|
106
|
+
};
|
|
107
|
+
var createBindDomainBatchChannel = function (amqpConnection, eventTypes, domainName, options) {
|
|
108
|
+
return createGenericBindDomainChannel(amqpConnection, eventTypes, 'batch.' + domainName, options);
|
|
109
|
+
};
|
|
110
|
+
var createGenericBindDomainChannel = function (amqpConnection, eventTypes, namespace, options) { return function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
93
111
|
var channel, _i, eventTypes_1, eventType, exchangeName;
|
|
94
112
|
return __generator(this, function (_a) {
|
|
95
113
|
switch (_a.label) {
|
|
96
|
-
case 0: return [4 /*yield*/, amqpConnection.channelProvider.getChannel(
|
|
114
|
+
case 0: return [4 /*yield*/, amqpConnection.channelProvider.getChannel(namespace, __assign(__assign({}, eventQueue_utils_1.OPTIONS), { prefetchCount: options.prefetchCount || eventQueue_utils_1.OPTIONS.prefetchCount }))];
|
|
97
115
|
case 1:
|
|
98
116
|
channel = _a.sent();
|
|
99
117
|
return [4 /*yield*/, channel.assertExchange(eventQueue_utils_1.FAILED_EXCHANGE_NAME, 'direct')];
|
|
@@ -151,6 +169,27 @@ function processRPCDomain(amqpConnection_1, domainName_1, consumerType_1, event_
|
|
|
151
169
|
});
|
|
152
170
|
});
|
|
153
171
|
}
|
|
172
|
+
function processRPCDomainBatch(amqpConnection_1, domainName_1, consumerType_1, events_1) {
|
|
173
|
+
return __awaiter(this, arguments, void 0, function (amqpConnection, domainName, consumerType, events, messageOptions, headers) {
|
|
174
|
+
var queueName, response;
|
|
175
|
+
if (messageOptions === void 0) { messageOptions = {}; }
|
|
176
|
+
if (headers === void 0) { headers = {}; }
|
|
177
|
+
return __generator(this, function (_a) {
|
|
178
|
+
switch (_a.label) {
|
|
179
|
+
case 0:
|
|
180
|
+
queueName = getRPCDomainBatchQueueName(consumerType, domainName);
|
|
181
|
+
return [4 /*yield*/, amqpConnection.queuePublisher.enqueueExpectingResponse(createRPCDomainChannel(amqpConnection, domainName), events, headers, '', // Default exchange and routingKey=queueName is used
|
|
182
|
+
queueName, messageOptions)];
|
|
183
|
+
case 1:
|
|
184
|
+
response = _a.sent();
|
|
185
|
+
if (response.status === 'error') {
|
|
186
|
+
throw new Error("Events batch RPC processing failed: ".concat(response.error));
|
|
187
|
+
}
|
|
188
|
+
return [2 /*return*/];
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
}
|
|
154
193
|
function bindRPCDomain(amqpConnection_1, domainName_1, consumerType_1, onEvent_1) {
|
|
155
194
|
return __awaiter(this, arguments, void 0, function (amqpConnection, domainName, consumerType, onEvent, options) {
|
|
156
195
|
var queueName, consumeOptions;
|
|
@@ -187,6 +226,149 @@ function bindRPCDomain(amqpConnection_1, domainName_1, consumerType_1, onEvent_1
|
|
|
187
226
|
});
|
|
188
227
|
});
|
|
189
228
|
}
|
|
229
|
+
function bindRPCDomainBatch(amqpConnection_1, domainName_1, consumerType_1, onEvents_1) {
|
|
230
|
+
return __awaiter(this, arguments, void 0, function (amqpConnection, domainName, consumerType, onEvents, options) {
|
|
231
|
+
var queueName, consumeOptions;
|
|
232
|
+
var _this = this;
|
|
233
|
+
if (options === void 0) { options = {}; }
|
|
234
|
+
return __generator(this, function (_a) {
|
|
235
|
+
switch (_a.label) {
|
|
236
|
+
case 0:
|
|
237
|
+
queueName = getRPCDomainBatchQueueName(consumerType, domainName);
|
|
238
|
+
consumeOptions = (0, eventQueue_utils_1.getConsumeOptionsByBindOptions)(options);
|
|
239
|
+
return [4 /*yield*/, amqpConnection.queueSubscriber.subscribeRepeatable(createRPCDomainChannel(amqpConnection, domainName, options), queueName, [], // Default exchange and routingKey=queueName is used
|
|
240
|
+
function (events) { return __awaiter(_this, void 0, void 0, function () {
|
|
241
|
+
var error_2;
|
|
242
|
+
return __generator(this, function (_a) {
|
|
243
|
+
switch (_a.label) {
|
|
244
|
+
case 0:
|
|
245
|
+
_a.trys.push([0, 2, , 3]);
|
|
246
|
+
return [4 /*yield*/, onEvents(events)];
|
|
247
|
+
case 1:
|
|
248
|
+
_a.sent();
|
|
249
|
+
return [2 /*return*/, { status: 'success' }];
|
|
250
|
+
case 2:
|
|
251
|
+
error_2 = _a.sent();
|
|
252
|
+
return [2 /*return*/, {
|
|
253
|
+
status: 'error',
|
|
254
|
+
error: error_2.message,
|
|
255
|
+
}];
|
|
256
|
+
case 3: return [2 /*return*/];
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
}); }, __assign(__assign({}, consumeOptions), { respond: true }))];
|
|
260
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
function fetchDomain(amqpConnection_1, domainName_1, consumerType_1) {
|
|
266
|
+
return __awaiter(this, arguments, void 0, function (amqpConnection, domainName, consumerType, options, maxMessages, breakCondition) {
|
|
267
|
+
var queueName, channel, gotMessages, i, gotMessage, error_3, unacknowledgedMessagesCount, finishMessage, eventMessages;
|
|
268
|
+
var _this = this;
|
|
269
|
+
if (options === void 0) { options = {}; }
|
|
270
|
+
if (maxMessages === void 0) { maxMessages = 1; }
|
|
271
|
+
return __generator(this, function (_a) {
|
|
272
|
+
switch (_a.label) {
|
|
273
|
+
case 0:
|
|
274
|
+
if (maxMessages <= 0) {
|
|
275
|
+
return [2 /*return*/, []];
|
|
276
|
+
}
|
|
277
|
+
queueName = (0, eventQueue_utils_1.getQueueName)(consumerType, domainName);
|
|
278
|
+
return [4 /*yield*/, createBindDomainBatchChannel(amqpConnection, [], domainName, options)()];
|
|
279
|
+
case 1:
|
|
280
|
+
channel = _a.sent();
|
|
281
|
+
gotMessages = [];
|
|
282
|
+
_a.label = 2;
|
|
283
|
+
case 2:
|
|
284
|
+
_a.trys.push([2, 7, , 9]);
|
|
285
|
+
i = 0;
|
|
286
|
+
_a.label = 3;
|
|
287
|
+
case 3:
|
|
288
|
+
if (!(i < maxMessages)) return [3 /*break*/, 6];
|
|
289
|
+
return [4 /*yield*/, channel.get(queueName)];
|
|
290
|
+
case 4:
|
|
291
|
+
gotMessage = _a.sent();
|
|
292
|
+
if (!gotMessage) {
|
|
293
|
+
return [3 /*break*/, 6]; // no more messages in the queue
|
|
294
|
+
}
|
|
295
|
+
if (breakCondition === null || breakCondition === void 0 ? void 0 : breakCondition(gotMessage.message)) {
|
|
296
|
+
gotMessage.nack({ requeue: true });
|
|
297
|
+
return [3 /*break*/, 6]; // break condition met, stop fetching more messages
|
|
298
|
+
}
|
|
299
|
+
gotMessages.push(gotMessage);
|
|
300
|
+
_a.label = 5;
|
|
301
|
+
case 5:
|
|
302
|
+
i++;
|
|
303
|
+
return [3 /*break*/, 3];
|
|
304
|
+
case 6: return [3 /*break*/, 9];
|
|
305
|
+
case 7:
|
|
306
|
+
error_3 = _a.sent();
|
|
307
|
+
return [4 /*yield*/, channel.close()];
|
|
308
|
+
case 8:
|
|
309
|
+
_a.sent();
|
|
310
|
+
throw error_3;
|
|
311
|
+
case 9:
|
|
312
|
+
if (!(gotMessages.length === 0)) return [3 /*break*/, 11];
|
|
313
|
+
return [4 /*yield*/, channel.close()];
|
|
314
|
+
case 10:
|
|
315
|
+
_a.sent();
|
|
316
|
+
return [2 /*return*/, []];
|
|
317
|
+
case 11:
|
|
318
|
+
unacknowledgedMessagesCount = gotMessages.length;
|
|
319
|
+
finishMessage = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
320
|
+
return __generator(this, function (_a) {
|
|
321
|
+
switch (_a.label) {
|
|
322
|
+
case 0:
|
|
323
|
+
unacknowledgedMessagesCount--;
|
|
324
|
+
if (!(unacknowledgedMessagesCount === 0)) return [3 /*break*/, 2];
|
|
325
|
+
return [4 /*yield*/, channel.close()];
|
|
326
|
+
case 1:
|
|
327
|
+
_a.sent();
|
|
328
|
+
_a.label = 2;
|
|
329
|
+
case 2: return [2 /*return*/];
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
}); };
|
|
333
|
+
eventMessages = gotMessages.map(function (gotMessage) {
|
|
334
|
+
return {
|
|
335
|
+
domain: domainName,
|
|
336
|
+
event: gotMessage.message,
|
|
337
|
+
ack: function () {
|
|
338
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
339
|
+
return __generator(this, function (_a) {
|
|
340
|
+
switch (_a.label) {
|
|
341
|
+
case 0:
|
|
342
|
+
gotMessage.ack();
|
|
343
|
+
return [4 /*yield*/, finishMessage()];
|
|
344
|
+
case 1:
|
|
345
|
+
_a.sent();
|
|
346
|
+
return [2 /*return*/];
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
},
|
|
351
|
+
nack: function (nackOptions) {
|
|
352
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
353
|
+
return __generator(this, function (_a) {
|
|
354
|
+
switch (_a.label) {
|
|
355
|
+
case 0:
|
|
356
|
+
gotMessage.nack(nackOptions);
|
|
357
|
+
return [4 /*yield*/, finishMessage()];
|
|
358
|
+
case 1:
|
|
359
|
+
_a.sent();
|
|
360
|
+
return [2 /*return*/];
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
});
|
|
364
|
+
},
|
|
365
|
+
};
|
|
366
|
+
});
|
|
367
|
+
return [2 /*return*/, eventMessages];
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
});
|
|
371
|
+
}
|
|
190
372
|
/**
|
|
191
373
|
* Bind more event types into one single queue.
|
|
192
374
|
* This queue name contains specified domainName and is prefixed by consumerType.
|
|
@@ -210,6 +392,71 @@ function bindDomain(amqpConnection_1, eventTypes_2, domainName_1, consumerType_1
|
|
|
210
392
|
});
|
|
211
393
|
});
|
|
212
394
|
}
|
|
395
|
+
/**
|
|
396
|
+
* Bind more event types into one single queue and consume them in batches.
|
|
397
|
+
* This queue name contains specified domainName and is prefixed by consumerType.
|
|
398
|
+
* One batch contains up to prefetchCount events and currently it has to be all of the same type.
|
|
399
|
+
* All events in the batch are in the same order as they were in the queue.
|
|
400
|
+
*/
|
|
401
|
+
function bindDomainBatch(amqpConnection_1, eventTypes_2, domainName_1, consumerType_1, onEvents_1) {
|
|
402
|
+
return __awaiter(this, arguments, void 0, function (amqpConnection, eventTypes, domainName, consumerType, onEvents, options, batchOptions) {
|
|
403
|
+
var queueName, bindings, consumeOptions;
|
|
404
|
+
var _this = this;
|
|
405
|
+
var _a, _b;
|
|
406
|
+
if (options === void 0) { options = {}; }
|
|
407
|
+
return __generator(this, function (_c) {
|
|
408
|
+
switch (_c.label) {
|
|
409
|
+
case 0:
|
|
410
|
+
queueName = (0, eventQueue_utils_1.getQueueName)(consumerType, domainName);
|
|
411
|
+
bindings = eventTypes.map(function (eventType) {
|
|
412
|
+
var exchangeName = (0, eventQueue_utils_1.getExchangeName)(options, eventType);
|
|
413
|
+
return { exchangeName: exchangeName, routingKey: (0, eventQueue_utils_1.getBasicEventRoutingKey)(eventType), persistent: true };
|
|
414
|
+
});
|
|
415
|
+
consumeOptions = getDomainConsumeOptions(options, consumerType, domainName);
|
|
416
|
+
return [4 /*yield*/, amqpConnection.queueSubscriber.subscribeBatchExpectingConfirmationRepeatable({
|
|
417
|
+
createChannel: createBindDomainBatchChannel(amqpConnection, eventTypes, domainName, options),
|
|
418
|
+
queueName: queueName,
|
|
419
|
+
bindings: bindings,
|
|
420
|
+
onMessagesBatch: function (eventMessages) { return __awaiter(_this, void 0, void 0, function () {
|
|
421
|
+
var _i, eventMessages_1, msg, error_4, requeue, _a, eventMessages_2, msg;
|
|
422
|
+
return __generator(this, function (_b) {
|
|
423
|
+
switch (_b.label) {
|
|
424
|
+
case 0:
|
|
425
|
+
_b.trys.push([0, 2, , 3]);
|
|
426
|
+
return [4 /*yield*/, onEvents(eventMessages.map(function (msg) { return msg.message; }))];
|
|
427
|
+
case 1:
|
|
428
|
+
_b.sent();
|
|
429
|
+
for (_i = 0, eventMessages_1 = eventMessages; _i < eventMessages_1.length; _i++) {
|
|
430
|
+
msg = eventMessages_1[_i];
|
|
431
|
+
msg.ack();
|
|
432
|
+
}
|
|
433
|
+
return [3 /*break*/, 3];
|
|
434
|
+
case 2:
|
|
435
|
+
error_4 = _b.sent();
|
|
436
|
+
debug('Error processing event batch in domain %s: %O', domainName, error_4);
|
|
437
|
+
requeue = !options.deadLetterIfErred;
|
|
438
|
+
for (_a = 0, eventMessages_2 = eventMessages; _a < eventMessages_2.length; _a++) {
|
|
439
|
+
msg = eventMessages_2[_a];
|
|
440
|
+
msg.nack({ requeue: requeue }); // all messages are nacked
|
|
441
|
+
}
|
|
442
|
+
throw error_4;
|
|
443
|
+
case 3: return [2 /*return*/];
|
|
444
|
+
}
|
|
445
|
+
});
|
|
446
|
+
}); },
|
|
447
|
+
consumeOptions: consumeOptions,
|
|
448
|
+
maxBatchSize: (_a = options.prefetchCount) !== null && _a !== void 0 ? _a : 1,
|
|
449
|
+
flushBatchDelayMs: (_b = batchOptions === null || batchOptions === void 0 ? void 0 : batchOptions.flushBatchDelayMs) !== null && _b !== void 0 ? _b : 50,
|
|
450
|
+
shouldBreakBatch: function (currentMessages, nextMessage) {
|
|
451
|
+
var firstMessage = currentMessages.at(0);
|
|
452
|
+
return Boolean(firstMessage && firstMessage.message.type !== nextMessage.message.type); // only same event types are allowed in one batch
|
|
453
|
+
},
|
|
454
|
+
})];
|
|
455
|
+
case 1: return [2 /*return*/, _c.sent()];
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
});
|
|
459
|
+
}
|
|
213
460
|
/**
|
|
214
461
|
* Bind all events which were rejected with enqueue=false by bindMany function (the domain type only).
|
|
215
462
|
*/
|
|
@@ -246,7 +493,7 @@ function fetchRejectedDomain(amqpConnection, domainName, consumerType) {
|
|
|
246
493
|
case 2:
|
|
247
494
|
channel = _a.sent();
|
|
248
495
|
finish = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
249
|
-
var
|
|
496
|
+
var error_5;
|
|
250
497
|
return __generator(this, function (_a) {
|
|
251
498
|
switch (_a.label) {
|
|
252
499
|
case 0:
|
|
@@ -259,11 +506,11 @@ function fetchRejectedDomain(amqpConnection, domainName, consumerType) {
|
|
|
259
506
|
_a.sent();
|
|
260
507
|
return [3 /*break*/, 5];
|
|
261
508
|
case 3:
|
|
262
|
-
|
|
509
|
+
error_5 = _a.sent();
|
|
263
510
|
return [4 /*yield*/, amqpConnection.pool.destroy(connection)];
|
|
264
511
|
case 4:
|
|
265
512
|
_a.sent();
|
|
266
|
-
throw
|
|
513
|
+
throw error_5;
|
|
267
514
|
case 5: return [2 /*return*/];
|
|
268
515
|
}
|
|
269
516
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventQueueDomain.js","sourceRoot":"","sources":["../../../src/AMQP/EventSourcing/eventQueueDomain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eventQueueDomain.js","sourceRoot":"","sources":["../../../src/AMQP/EventSourcing/eventQueueDomain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
import IConsumeOptions from './IConsumeOptions';
|
|
2
|
-
import IChannel, { IBinding } from './IChannel';
|
|
2
|
+
import IChannel, { IBinding, IGotMessage } from './IChannel';
|
|
3
3
|
import INackOptions from './INackOptions';
|
|
4
4
|
export type ICloseChannel = () => Promise<void>;
|
|
5
5
|
export type ICancelConsumption = () => Promise<ICloseChannel>;
|
|
6
|
+
type CreateBatchCallbackArgs<TMessage> = {
|
|
7
|
+
onMessagesBatch: (messages: IGotMessage<TMessage>[]) => Promise<void>;
|
|
8
|
+
maxBatchSize: number;
|
|
9
|
+
flushBatchDelayMs: number;
|
|
10
|
+
shouldBreakBatch?: (currentMessages: IGotMessage<TMessage>[], nextMessage: IGotMessage<TMessage>) => boolean;
|
|
11
|
+
};
|
|
12
|
+
type SubscribeBatchExpectingConfirmationArgs<TMessage> = {
|
|
13
|
+
createChannel: () => Promise<IChannel<TMessage>>;
|
|
14
|
+
queueName: string;
|
|
15
|
+
bindings: IBinding[];
|
|
16
|
+
consumeOptions?: IConsumeOptions;
|
|
17
|
+
onEnded?: () => void;
|
|
18
|
+
} & CreateBatchCallbackArgs<TMessage>;
|
|
6
19
|
export default class QueueSubscriber {
|
|
7
20
|
subscribe<TMessage, TResponseMessage>(createChannel: () => Promise<IChannel<TMessage>>, queueName: string, bindings: IBinding[], onMessage: (message: TMessage, headers: object) => Promise<TResponseMessage>, consumeOptions?: IConsumeOptions, onEnded?: () => void): Promise<ICancelConsumption>;
|
|
8
21
|
subscribeRepeatable<TMessage, TResponseMessage>(createChannel: () => Promise<IChannel<TMessage>>, queueName: string, bindings: IBinding[], onMessage: (message: TMessage, headers: object) => Promise<TResponseMessage>, consumeOptions?: IConsumeOptions): Promise<ICancelConsumption>;
|
|
9
22
|
subscribeExpectingConfirmation<TMessage, TResponseMessage>(createChannel: () => Promise<IChannel<TMessage>>, queueName: string, bindings: IBinding[], onMessage: (message: TMessage, headers: object, ack: () => void, nack: (options?: INackOptions) => void) => Promise<TResponseMessage>, consumeOptions?: IConsumeOptions, onEnded?: () => void): Promise<ICancelConsumption>;
|
|
10
23
|
subscribeExpectingConfirmationRepeatable<TMessage, TResponseMessage>(createChannel: () => Promise<IChannel<TMessage>>, queueName: string, bindings: IBinding[], onMessage: (message: TMessage, headers: object, ack: () => void, nack: (options?: INackOptions) => void) => Promise<TResponseMessage>, consumeOptions?: IConsumeOptions): Promise<ICancelConsumption>;
|
|
24
|
+
subscribeBatchExpectingConfirmationRepeatable<TMessage>(args: SubscribeBatchExpectingConfirmationArgs<TMessage>): Promise<() => Promise<ICloseChannel>>;
|
|
25
|
+
subscribeBatchExpectingConfirmation<TMessage>({ createChannel, queueName, bindings, onMessagesBatch, consumeOptions, onEnded, maxBatchSize, flushBatchDelayMs, shouldBreakBatch, }: SubscribeBatchExpectingConfirmationArgs<TMessage>): Promise<() => Promise<ICloseChannel>>;
|
|
11
26
|
}
|
|
27
|
+
export {};
|
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
2
36
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
37
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
38
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -39,8 +73,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
73
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
74
|
};
|
|
41
75
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
76
|
+
var _ = __importStar(require("lodash"));
|
|
42
77
|
var QueueRepeatableSubscription_1 = __importDefault(require("./QueueRepeatableSubscription"));
|
|
43
78
|
var debug_1 = __importDefault(require("debug"));
|
|
79
|
+
var deferredStream_1 = require("../Promise/deferredStream");
|
|
44
80
|
var debug = (0, debug_1.default)('@signageos/lib:AMQP:QueueSubscriber');
|
|
45
81
|
var QueueSubscriber = /** @class */ (function () {
|
|
46
82
|
function QueueSubscriber() {
|
|
@@ -157,7 +193,129 @@ var QueueSubscriber = /** @class */ (function () {
|
|
|
157
193
|
});
|
|
158
194
|
});
|
|
159
195
|
};
|
|
196
|
+
QueueSubscriber.prototype.subscribeBatchExpectingConfirmationRepeatable = function (args) {
|
|
197
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
198
|
+
var repeatableSubscription;
|
|
199
|
+
var _this = this;
|
|
200
|
+
return __generator(this, function (_a) {
|
|
201
|
+
switch (_a.label) {
|
|
202
|
+
case 0:
|
|
203
|
+
repeatableSubscription = new QueueRepeatableSubscription_1.default(function (onEnded) {
|
|
204
|
+
return _this.subscribeBatchExpectingConfirmation(__assign(__assign({}, args), { onEnded: onEnded }));
|
|
205
|
+
});
|
|
206
|
+
return [4 /*yield*/, repeatableSubscription.subscribe()];
|
|
207
|
+
case 1:
|
|
208
|
+
_a.sent();
|
|
209
|
+
debug('Messages subscribed expecting confirmation in batch: %s', args.queueName, args.bindings);
|
|
210
|
+
return [2 /*return*/, function () { return repeatableSubscription.cancel(); }];
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
QueueSubscriber.prototype.subscribeBatchExpectingConfirmation = function (_a) {
|
|
216
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
217
|
+
var channel, cancelConsumption;
|
|
218
|
+
var _this = this;
|
|
219
|
+
var createChannel = _b.createChannel, queueName = _b.queueName, bindings = _b.bindings, onMessagesBatch = _b.onMessagesBatch, consumeOptions = _b.consumeOptions, onEnded = _b.onEnded, maxBatchSize = _b.maxBatchSize, flushBatchDelayMs = _b.flushBatchDelayMs, shouldBreakBatch = _b.shouldBreakBatch;
|
|
220
|
+
return __generator(this, function (_c) {
|
|
221
|
+
switch (_c.label) {
|
|
222
|
+
case 0: return [4 /*yield*/, createChannel()];
|
|
223
|
+
case 1:
|
|
224
|
+
channel = _c.sent();
|
|
225
|
+
return [4 /*yield*/, channel.consume(queueName, bindings, wrapCallbackLegacyArgsToGotMessage(createBatchedCallback({ onMessagesBatch: onMessagesBatch, maxBatchSize: maxBatchSize, flushBatchDelayMs: flushBatchDelayMs, shouldBreakBatch: shouldBreakBatch })), consumeOptions, onEnded)];
|
|
226
|
+
case 2:
|
|
227
|
+
cancelConsumption = _c.sent();
|
|
228
|
+
debug('Messages subscribed expecting confirmation in batch: %s', queueName, bindings);
|
|
229
|
+
return [2 /*return*/, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
230
|
+
var error_3;
|
|
231
|
+
return __generator(this, function (_a) {
|
|
232
|
+
switch (_a.label) {
|
|
233
|
+
case 0:
|
|
234
|
+
_a.trys.push([0, 2, , 3]);
|
|
235
|
+
return [4 /*yield*/, cancelConsumption()];
|
|
236
|
+
case 1:
|
|
237
|
+
_a.sent();
|
|
238
|
+
return [3 /*break*/, 3];
|
|
239
|
+
case 2:
|
|
240
|
+
error_3 = _a.sent();
|
|
241
|
+
console.error("Could not cancel consumption in QueueSubscriber:subscribeBatchExpectingConfirmation method", queueName, error_3);
|
|
242
|
+
return [3 /*break*/, 3];
|
|
243
|
+
case 3: return [2 /*return*/, function () { return channel.close(); }];
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}); }];
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
};
|
|
160
251
|
return QueueSubscriber;
|
|
161
252
|
}());
|
|
162
253
|
exports.default = QueueSubscriber;
|
|
254
|
+
function wrapCallbackLegacyArgsToGotMessage(callback) {
|
|
255
|
+
var _this = this;
|
|
256
|
+
return function (message, headers, ack, nack, fields) { return __awaiter(_this, void 0, void 0, function () {
|
|
257
|
+
return __generator(this, function (_a) {
|
|
258
|
+
switch (_a.label) {
|
|
259
|
+
case 0: return [4 /*yield*/, callback({ message: message, headers: headers, fields: fields, ack: ack, nack: nack })];
|
|
260
|
+
case 1:
|
|
261
|
+
_a.sent();
|
|
262
|
+
return [2 /*return*/];
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
}); };
|
|
266
|
+
}
|
|
267
|
+
function createBatchedCallback(_a) {
|
|
268
|
+
var _this = this;
|
|
269
|
+
var onMessagesBatch = _a.onMessagesBatch, maxBatchSize = _a.maxBatchSize, flushBatchDelayMs = _a.flushBatchDelayMs, shouldBreakBatch = _a.shouldBreakBatch;
|
|
270
|
+
debug('batchCallback', { maxBatchSize: maxBatchSize });
|
|
271
|
+
var currentBatch = [];
|
|
272
|
+
var deferredStream = (0, deferredStream_1.createDeferredStream)();
|
|
273
|
+
function processMessagesBatch() {
|
|
274
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
275
|
+
var batchToSend;
|
|
276
|
+
return __generator(this, function (_a) {
|
|
277
|
+
switch (_a.label) {
|
|
278
|
+
case 0:
|
|
279
|
+
debug('processMessagesBatch', { currentBatchLength: currentBatch.length });
|
|
280
|
+
// Nothing to send
|
|
281
|
+
if (currentBatch.length === 0) {
|
|
282
|
+
return [2 /*return*/];
|
|
283
|
+
}
|
|
284
|
+
batchToSend = currentBatch;
|
|
285
|
+
currentBatch = [];
|
|
286
|
+
return [4 /*yield*/, onMessagesBatch(batchToSend)];
|
|
287
|
+
case 1:
|
|
288
|
+
_a.sent();
|
|
289
|
+
deferredStream.resolve();
|
|
290
|
+
return [2 /*return*/];
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
var debouncedProcessMessagesBatch = _.debounce(processMessagesBatch, flushBatchDelayMs);
|
|
296
|
+
return function (message) { return __awaiter(_this, void 0, void 0, function () {
|
|
297
|
+
return __generator(this, function (_a) {
|
|
298
|
+
switch (_a.label) {
|
|
299
|
+
case 0:
|
|
300
|
+
debug('batchCallback message', { message: message });
|
|
301
|
+
if (shouldBreakBatch === null || shouldBreakBatch === void 0 ? void 0 : shouldBreakBatch(currentBatch, message)) {
|
|
302
|
+
debug('batchCallback breaking batch', { message: message });
|
|
303
|
+
debouncedProcessMessagesBatch.flush();
|
|
304
|
+
}
|
|
305
|
+
debug('batchCallback adding to batch', { currentBatchLength: currentBatch.length });
|
|
306
|
+
currentBatch.push(message);
|
|
307
|
+
debouncedProcessMessagesBatch();
|
|
308
|
+
if (currentBatch.length >= maxBatchSize) {
|
|
309
|
+
debug('batchCallback max batch size reached', { currentBatchLength: currentBatch.length });
|
|
310
|
+
debouncedProcessMessagesBatch.flush();
|
|
311
|
+
}
|
|
312
|
+
return [4 /*yield*/, deferredStream.promise];
|
|
313
|
+
case 1:
|
|
314
|
+
_a.sent();
|
|
315
|
+
debug('batchCallback message processed', { message: message });
|
|
316
|
+
return [2 /*return*/];
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
}); };
|
|
320
|
+
}
|
|
163
321
|
//# sourceMappingURL=QueueSubscriber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueSubscriber.js","sourceRoot":"","sources":["../../src/AMQP/QueueSubscriber.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QueueSubscriber.js","sourceRoot":"","sources":["../../src/AMQP/QueueSubscriber.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signageos/lib",
|
|
3
|
-
"version": "23.
|
|
3
|
+
"version": "23.9.0",
|
|
4
4
|
"main": "./dist",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"files": [
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"author": "Michael Zabka <zabka.michael@gmail.com>",
|
|
40
40
|
"license": "MIT",
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@signageos/lib-ci": "23.
|
|
42
|
+
"@signageos/lib-ci": "23.9.0",
|
|
43
43
|
"async-lock": "1.4.0",
|
|
44
44
|
"auth0": "4.4.1",
|
|
45
45
|
"basic-auth": "2.0.1",
|