@message-queue-toolkit/core 19.0.0 → 20.0.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/index.d.ts +1 -0
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/events/DomainEventEmitter.js +1 -1
- package/dist/lib/events/DomainEventEmitter.js.map +1 -1
- package/dist/lib/message-deduplication/messageDeduplicationTypes.d.ts +41 -0
- package/dist/lib/message-deduplication/messageDeduplicationTypes.js +21 -0
- package/dist/lib/message-deduplication/messageDeduplicationTypes.js.map +1 -0
- package/dist/lib/payload-store/offloadedPayloadMessageSchemas.js +1 -1
- package/dist/lib/payload-store/offloadedPayloadMessageSchemas.js.map +1 -1
- package/dist/lib/queues/AbstractPublisherManager.js.map +1 -1
- package/dist/lib/queues/AbstractQueueService.d.ts +38 -3
- package/dist/lib/queues/AbstractQueueService.js +118 -14
- package/dist/lib/queues/AbstractQueueService.js.map +1 -1
- package/dist/lib/queues/HandlerSpy.d.ts +4 -4
- package/dist/lib/queues/HandlerSpy.js +11 -13
- package/dist/lib/queues/HandlerSpy.js.map +1 -1
- package/dist/lib/types/MessageQueueTypes.d.ts +10 -1
- package/dist/lib/types/queueOptionsTypes.d.ts +10 -0
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -27,3 +27,4 @@ export * from './lib/messages/MetadataFiller';
|
|
|
27
27
|
export * from './lib/queues/AbstractPublisherManager';
|
|
28
28
|
export { PayloadStoreTypes, PayloadStoreConfig, SerializedPayload, PayloadSerializer, } from './lib/payload-store/payloadStoreTypes';
|
|
29
29
|
export { OffloadedPayloadPointerPayload, OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA, isOffloadedPayloadPointerPayload, } from './lib/payload-store/offloadedPayloadMessageSchemas';
|
|
30
|
+
export { type MessageDeduplicationStore, type MessageDeduplicationConfig, type ReleasableLock, type AcquireLockOptions, DeduplicationRequester, AcquireLockTimeoutError, noopReleasableLock, } from './lib/message-deduplication/messageDeduplicationTypes';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isOffloadedPayloadPointerPayload = exports.OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA = exports.FakeListener = exports.EventRegistry = exports.DomainEventEmitter = exports.isProduction = exports.reloadConfig = exports.toDatePreprocessor = exports.isRetryDateExceeded = exports.parseMessage = exports.waitAndRetry = exports.objectToBuffer = exports.MessageSchemaContainer = exports.HandlerSpy = exports.MessageHandlerConfigBuilder = exports.MessageHandlerConfig = exports.HandlerContainer = exports.DoNotProcessMessageError = exports.RetryMessageLaterError = exports.objectMatches = exports.isShallowSubset = exports.MessageInvalidFormatError = exports.MessageValidationError = exports.isMessageError = exports.AbstractQueueService = void 0;
|
|
3
|
+
exports.noopReleasableLock = exports.AcquireLockTimeoutError = exports.DeduplicationRequester = exports.isOffloadedPayloadPointerPayload = exports.OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA = exports.FakeListener = exports.EventRegistry = exports.DomainEventEmitter = exports.isProduction = exports.reloadConfig = exports.toDatePreprocessor = exports.isRetryDateExceeded = exports.parseMessage = exports.waitAndRetry = exports.objectToBuffer = exports.MessageSchemaContainer = exports.HandlerSpy = exports.MessageHandlerConfigBuilder = exports.MessageHandlerConfig = exports.HandlerContainer = exports.DoNotProcessMessageError = exports.RetryMessageLaterError = exports.objectMatches = exports.isShallowSubset = exports.MessageInvalidFormatError = exports.MessageValidationError = exports.isMessageError = exports.AbstractQueueService = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
var AbstractQueueService_1 = require("./lib/queues/AbstractQueueService");
|
|
6
6
|
Object.defineProperty(exports, "AbstractQueueService", { enumerable: true, get: function () { return AbstractQueueService_1.AbstractQueueService; } });
|
|
@@ -51,4 +51,8 @@ tslib_1.__exportStar(require("./lib/queues/AbstractPublisherManager"), exports);
|
|
|
51
51
|
var offloadedPayloadMessageSchemas_1 = require("./lib/payload-store/offloadedPayloadMessageSchemas");
|
|
52
52
|
Object.defineProperty(exports, "OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA", { enumerable: true, get: function () { return offloadedPayloadMessageSchemas_1.OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA; } });
|
|
53
53
|
Object.defineProperty(exports, "isOffloadedPayloadPointerPayload", { enumerable: true, get: function () { return offloadedPayloadMessageSchemas_1.isOffloadedPayloadPointerPayload; } });
|
|
54
|
+
var messageDeduplicationTypes_1 = require("./lib/message-deduplication/messageDeduplicationTypes");
|
|
55
|
+
Object.defineProperty(exports, "DeduplicationRequester", { enumerable: true, get: function () { return messageDeduplicationTypes_1.DeduplicationRequester; } });
|
|
56
|
+
Object.defineProperty(exports, "AcquireLockTimeoutError", { enumerable: true, get: function () { return messageDeduplicationTypes_1.AcquireLockTimeoutError; } });
|
|
57
|
+
Object.defineProperty(exports, "noopReleasableLock", { enumerable: true, get: function () { return messageDeduplicationTypes_1.noopReleasableLock; } });
|
|
54
58
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AASA,0EAI0C;AAHxC,4HAAA,oBAAoB,OAAA;AAItB,wEAA6C;AAE7C,8CAI4B;AAH1B,wGAAA,cAAc,OAAA;AACd,gHAAA,sBAAsB,OAAA;AACtB,mHAAA,yBAAyB,OAAA;AAG3B,qDAAuE;AAA9D,6GAAA,eAAe,OAAA;AAAE,2GAAA,aAAa,OAAA;AAEvC,8EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAE/B,oEAAyE;AAAhE,6HAAA,wBAAwB,OAAA;AAEjC,kEAKsC;AAHpC,oHAAA,gBAAgB,OAAA;AAChB,wHAAA,oBAAoB,OAAA;AACpB,+HAAA,2BAA2B,OAAA;AAY7B,sDAAoD;AAA3C,wGAAA,UAAU,OAAA;AAGnB,8EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAG/B,qDAAuD;AAA9C,4GAAA,cAAc,OAAA;AACvB,mDAAoD;AAA3C,yGAAA,YAAY,OAAA;AACrB,qDAA8E;AAA5C,0GAAA,YAAY,OAAA;AAC9C,mDAA2D;AAAlD,gHAAA,mBAAmB,OAAA;AAC5B,+DAAgE;AAAvD,qHAAA,kBAAkB,OAAA;AAE3B,iDAAiE;AAAxD,wGAAA,YAAY,OAAA;AAAE,wGAAA,YAAY,OAAA;AAEnC,sEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAC3B,4DAA0D;AAAjD,8GAAA,aAAa,OAAA;AACtB,gEAA8D;AAArD,4GAAA,YAAY,OAAA;AAErB,kEAAuC;AACvC,wEAA6C;AAC7C,4EAAiD;AAEjD,wEAA6C;AAE7C,gFAAqD;AAOrD,qGAI2D;AAFzD,0JAAA,wCAAwC,OAAA;AACxC,kJAAA,gCAAgC,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AASA,0EAI0C;AAHxC,4HAAA,oBAAoB,OAAA;AAItB,wEAA6C;AAE7C,8CAI4B;AAH1B,wGAAA,cAAc,OAAA;AACd,gHAAA,sBAAsB,OAAA;AACtB,mHAAA,yBAAyB,OAAA;AAG3B,qDAAuE;AAA9D,6GAAA,eAAe,OAAA;AAAE,2GAAA,aAAa,OAAA;AAEvC,8EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAE/B,oEAAyE;AAAhE,6HAAA,wBAAwB,OAAA;AAEjC,kEAKsC;AAHpC,oHAAA,gBAAgB,OAAA;AAChB,wHAAA,oBAAoB,OAAA;AACpB,+HAAA,2BAA2B,OAAA;AAY7B,sDAAoD;AAA3C,wGAAA,UAAU,OAAA;AAGnB,8EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAG/B,qDAAuD;AAA9C,4GAAA,cAAc,OAAA;AACvB,mDAAoD;AAA3C,yGAAA,YAAY,OAAA;AACrB,qDAA8E;AAA5C,0GAAA,YAAY,OAAA;AAC9C,mDAA2D;AAAlD,gHAAA,mBAAmB,OAAA;AAC5B,+DAAgE;AAAvD,qHAAA,kBAAkB,OAAA;AAE3B,iDAAiE;AAAxD,wGAAA,YAAY,OAAA;AAAE,wGAAA,YAAY,OAAA;AAEnC,sEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAC3B,4DAA0D;AAAjD,8GAAA,aAAa,OAAA;AACtB,gEAA8D;AAArD,4GAAA,YAAY,OAAA;AAErB,kEAAuC;AACvC,wEAA6C;AAC7C,4EAAiD;AAEjD,wEAA6C;AAE7C,gFAAqD;AAOrD,qGAI2D;AAFzD,0JAAA,wCAAwC,OAAA;AACxC,kJAAA,gCAAgC,OAAA;AAElC,mGAQ8D;AAH5D,mIAAA,sBAAsB,OAAA;AACtB,oIAAA,uBAAuB,OAAA;AACvB,+HAAA,kBAAkB,OAAA"}
|
|
@@ -103,7 +103,7 @@ class DomainEventEmitter {
|
|
|
103
103
|
this._handlerSpy.addProcessedMessage({
|
|
104
104
|
// @ts-ignore
|
|
105
105
|
message: event,
|
|
106
|
-
processingResult: 'consumed',
|
|
106
|
+
processingResult: { status: 'consumed' },
|
|
107
107
|
}, event.id);
|
|
108
108
|
});
|
|
109
109
|
this.inProgressBackgroundHandlerByEventId.set(event.id, bgPromise);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomainEventEmitter.js","sourceRoot":"","sources":["../../../lib/events/DomainEventEmitter.ts"],"names":[],"mappings":";;;AAAA,mDAM4B;AAI5B,qDAAwD;AAExD,6CAAwC;AA0BxC,MAAa,kBAAkB;IACZ,aAAa,CAAgC;IAC7C,cAAc,CAAgB;IAC9B,MAAM,CAAc;IACpB,aAAa,CAAgB;IAC7B,+BAA+B,CAAkC;IACjE,WAAW,CAE3B;IAEgB,eAAe,CAG/B;IACgB,oCAAoC,CAA4B;IAEjF,YACE,IAAqD,EACrD,UAEI,EAAE;QAEN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACvC,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,+BAA+B,CAAA;QAE3E,IAAI,CAAC,WAAW;YACd,IAAA,8BAAiB,EAAmE,OAAO,CAAC,CAAA;QAE9F,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAA;QAChC,IAAI,CAAC,oCAAoC,GAAG,IAAI,GAAG,EAAE,CAAA;IACvD,CAAC;IAED,IAAI,UAAU;QAGZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,MAAM,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC,oCAAoC,CAAC,KAAK,EAAE,CAAA;QACjD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC5B,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,cAA8B,EAC9B,IAA4E,EAC5E,wBAA+D;QAE/D,MAAM,aAAa,GAAG,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAA;QACrE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,yBAAa,CAAC;gBACtB,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,iBAAiB,aAAa,EAAE;aAC1C,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAA;QAC5E,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe;YACjD,aAAa;YACb,IAAI,EACJ,cAAc,EACd,wBAAwB,IAAI,EAAE,CAC/B,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa;YAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAA;QAE/F,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa;aACtC,4BAA4B,CAAC,aAAa,CAAC;aAC3C,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAE1D,aAAa;QACb,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;QAEtC,aAAa;QACb,OAAO,cAAc,CAAA;IACvB,CAAC;IAED;;OAEG;IACI,EAAE,CACP,aAA4B,EAC5B,OAA2D,EAC3D,mBAAmB,GAAG,KAAK;QAE3B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7E,CAAC;QAED,IAAI,mBAAmB;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;YACrF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC;IAED;;OAEG;IACI,MAAM,CACX,cAA+B,EAC/B,OAA2D,EAC3D,mBAAmB,GAAG,KAAK;QAE3B,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAyC,EAAE,mBAAmB,GAAG,KAAK;QACjF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;IAC/F,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,KAA8D;QAE9D,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1D,IAAI,CAAC,aAAa;YAAE,OAAM;QAE1B,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAC3B,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAC1F,CAAC,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC1D,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAM;YAC7B,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAClC;gBACE,aAAa;gBACb,OAAO,EAAE,KAAK;gBACd,gBAAgB,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"DomainEventEmitter.js","sourceRoot":"","sources":["../../../lib/events/DomainEventEmitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Either } from '@lokalise/node-core';
|
|
2
|
+
import type { MessageDeduplicationOptions } from '@message-queue-toolkit/schemas';
|
|
3
|
+
export interface ReleasableLock {
|
|
4
|
+
release(): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export declare class AcquireLockTimeoutError extends Error {
|
|
7
|
+
}
|
|
8
|
+
export type AcquireLockOptions = Required<Pick<MessageDeduplicationOptions, 'acquireTimeoutSeconds' | 'lockTimeoutSeconds' | 'refreshIntervalSeconds'>>;
|
|
9
|
+
export interface MessageDeduplicationStore {
|
|
10
|
+
/**
|
|
11
|
+
* Stores a deduplication key in case it does not already exist.
|
|
12
|
+
* @param {string} key - deduplication key
|
|
13
|
+
* @param {string} value - value to store
|
|
14
|
+
* @param {number} ttlSeconds - time to live in seconds
|
|
15
|
+
* @returns {Promise<boolean>} - true if the key was stored, false if it already existed
|
|
16
|
+
*/
|
|
17
|
+
setIfNotExists(key: string, value: string, ttlSeconds: number): Promise<boolean>;
|
|
18
|
+
/**
|
|
19
|
+
* Acquires locks for a given key
|
|
20
|
+
* @param {string} key - deduplication key
|
|
21
|
+
* @param {object} options - options used when acquiring the lock
|
|
22
|
+
* @returns {Promise<Either<AcquireLockTimeoutError | Error, ReleasableLock>>} - a promise that resolves to a ReleasableLock if the lock was acquired, AcquireLockTimeoutError error if the lock could not be acquired due to timeout, or an Error if the lock could not be acquired for another reason
|
|
23
|
+
*/
|
|
24
|
+
acquireLock(key: string, options: object): Promise<Either<AcquireLockTimeoutError | Error, ReleasableLock>>;
|
|
25
|
+
/**
|
|
26
|
+
* Checks if a deduplication key exists in the store
|
|
27
|
+
* @param {string} key - deduplication key
|
|
28
|
+
* @returns {Promise<boolean>} - true if the key exists, false otherwise
|
|
29
|
+
*/
|
|
30
|
+
keyExists(key: string): Promise<boolean>;
|
|
31
|
+
}
|
|
32
|
+
export type MessageDeduplicationConfig = {
|
|
33
|
+
/** The store to use for storage and retrieval of deduplication keys */
|
|
34
|
+
deduplicationStore: MessageDeduplicationStore;
|
|
35
|
+
};
|
|
36
|
+
export declare enum DeduplicationRequester {
|
|
37
|
+
Consumer = "consumer",
|
|
38
|
+
Publisher = "publisher"
|
|
39
|
+
}
|
|
40
|
+
export declare const DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS: Required<MessageDeduplicationOptions>;
|
|
41
|
+
export declare const noopReleasableLock: ReleasableLock;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.noopReleasableLock = exports.DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS = exports.DeduplicationRequester = exports.AcquireLockTimeoutError = void 0;
|
|
4
|
+
class AcquireLockTimeoutError extends Error {
|
|
5
|
+
}
|
|
6
|
+
exports.AcquireLockTimeoutError = AcquireLockTimeoutError;
|
|
7
|
+
var DeduplicationRequester;
|
|
8
|
+
(function (DeduplicationRequester) {
|
|
9
|
+
DeduplicationRequester["Consumer"] = "consumer";
|
|
10
|
+
DeduplicationRequester["Publisher"] = "publisher";
|
|
11
|
+
})(DeduplicationRequester || (exports.DeduplicationRequester = DeduplicationRequester = {}));
|
|
12
|
+
exports.DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS = {
|
|
13
|
+
deduplicationWindowSeconds: 40,
|
|
14
|
+
lockTimeoutSeconds: 20,
|
|
15
|
+
acquireTimeoutSeconds: 20,
|
|
16
|
+
refreshIntervalSeconds: 10,
|
|
17
|
+
};
|
|
18
|
+
exports.noopReleasableLock = {
|
|
19
|
+
release: async () => { },
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=messageDeduplicationTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageDeduplicationTypes.js","sourceRoot":"","sources":["../../../lib/message-deduplication/messageDeduplicationTypes.ts"],"names":[],"mappings":";;;AAOA,MAAa,uBAAwB,SAAQ,KAAK;CAAG;AAArD,0DAAqD;AA2CrD,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,+CAAqB,CAAA;IACrB,iDAAuB,CAAA;AACzB,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAEY,QAAA,qCAAqC,GAA0C;IAC1F,0BAA0B,EAAE,EAAE;IAC9B,kBAAkB,EAAE,EAAE;IACtB,qBAAqB,EAAE,EAAE;IACzB,sBAAsB,EAAE,EAAE;CAC3B,CAAA;AAEY,QAAA,kBAAkB,GAAmB;IAChD,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;CACxB,CAAA"}
|
|
@@ -12,7 +12,7 @@ exports.OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA = zod_1.z
|
|
|
12
12
|
offloadedPayloadPointer: zod_1.z.string().min(1),
|
|
13
13
|
offloadedPayloadSize: zod_1.z.number().int().positive(),
|
|
14
14
|
})
|
|
15
|
-
// Pass-through allows to pass message ID, type and
|
|
15
|
+
// Pass-through allows to pass message ID, type, timestamp and message-deduplication-related fields that are using dynamic keys.
|
|
16
16
|
.passthrough();
|
|
17
17
|
function isOffloadedPayloadPointerPayload(value) {
|
|
18
18
|
return value.offloadedPayloadPointer !== undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offloadedPayloadMessageSchemas.js","sourceRoot":"","sources":["../../../lib/payload-store/offloadedPayloadMessageSchemas.ts"],"names":[],"mappings":";;;AAkBA,4EAIC;AAtBD,6BAAuB;AAEvB;;;GAGG;AACU,QAAA,wCAAwC,GAAG,OAAC;KACtD,MAAM,CAAC;IACN,uBAAuB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,oBAAoB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC;IACF,
|
|
1
|
+
{"version":3,"file":"offloadedPayloadMessageSchemas.js","sourceRoot":"","sources":["../../../lib/payload-store/offloadedPayloadMessageSchemas.ts"],"names":[],"mappings":";;;AAkBA,4EAIC;AAtBD,6BAAuB;AAEvB;;;GAGG;AACU,QAAA,wCAAwC,GAAG,OAAC;KACtD,MAAM,CAAC;IACN,uBAAuB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,oBAAoB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC;IACF,gIAAgI;KAC/H,WAAW,EAAE,CAAA;AAMhB,SAAgB,gCAAgC,CAC9C,KAAc;IAEd,OAAQ,KAAwC,CAAC,uBAAuB,KAAK,SAAS,CAAA;AACxF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPublisherManager.js","sourceRoot":"","sources":["../../../lib/queues/AbstractPublisherManager.ts"],"names":[],"mappings":";;;AA6BA,MAAsB,wBAAwB;IAgB3B,gBAAgB,CAOhC;IAEkB,mBAAmB,CAAa;IAEhC,cAAc,CAGhC;IACkB,aAAa,CAAQ;IAExC,qFAAqF;IAClE,gBAAgB,GAAgD,EAGlF,CAAA;IACkB,OAAO,CAAS;IACzB,oBAAoB,GAAwC,EAGrE,CAAA;IACgB,qBAAqB,CAAkB;IAExD,YAAsB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,aAAa,EACb,OAAO,GAmBR;QACC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAA;QAElD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;QAClD,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAIS,+BAA+B,CAAC,YAAoB;QAC5D,OAAO,EAAE,CAAA;IACX,CAAC;IAEO,cAAc,CAAC,MAAiC;QACtD,KAAK,MAAM,cAAc,IAAI,MAAM,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;YAE3D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;YACzC,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;
|
|
1
|
+
{"version":3,"file":"AbstractPublisherManager.js","sourceRoot":"","sources":["../../../lib/queues/AbstractPublisherManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { CommonLogger, Either, ErrorReporter, ErrorResolver } from '@lokalise/node-core';
|
|
2
2
|
import type { ZodSchema, ZodType } from 'zod';
|
|
3
3
|
import type { MessageInvalidFormatError, MessageValidationError } from '../errors/Errors';
|
|
4
|
-
import type
|
|
4
|
+
import { AcquireLockTimeoutError, DeduplicationRequester, type MessageDeduplicationConfig, type ReleasableLock } from '../message-deduplication/messageDeduplicationTypes';
|
|
5
|
+
import { type OffloadedPayloadPointerPayload } from '../payload-store/offloadedPayloadMessageSchemas';
|
|
5
6
|
import type { PayloadStoreConfig } from '../payload-store/payloadStoreTypes';
|
|
6
7
|
import type { MessageProcessingResult } from '../types/MessageQueueTypes';
|
|
7
8
|
import type { DeletionConfig, MessageMetricsManager, QueueDependencies, QueueOptions } from '../types/queueOptionsTypes';
|
|
@@ -21,12 +22,20 @@ export declare abstract class AbstractQueueService<MessagePayloadSchemas extends
|
|
|
21
22
|
* Used to keep track of the number of `retryLater` results received for a message to be able to
|
|
22
23
|
* calculate the delay for the next retry
|
|
23
24
|
*/
|
|
24
|
-
private readonly
|
|
25
|
+
private readonly messageRetryLaterCountField;
|
|
25
26
|
/**
|
|
26
27
|
* Used to know when the message was sent initially so we can have a max retry date and avoid
|
|
27
28
|
* a infinite `retryLater` loop
|
|
28
29
|
*/
|
|
29
30
|
protected readonly messageTimestampField: string;
|
|
31
|
+
/**
|
|
32
|
+
* Used to know the message deduplication id
|
|
33
|
+
*/
|
|
34
|
+
protected readonly messageDeduplicationIdField: string;
|
|
35
|
+
/**
|
|
36
|
+
* Used to know the store-based message deduplication options
|
|
37
|
+
*/
|
|
38
|
+
protected readonly messageDeduplicationOptionsField: string;
|
|
30
39
|
protected readonly errorReporter: ErrorReporter;
|
|
31
40
|
readonly logger: CommonLogger;
|
|
32
41
|
protected readonly messageIdField: string;
|
|
@@ -36,8 +45,9 @@ export declare abstract class AbstractQueueService<MessagePayloadSchemas extends
|
|
|
36
45
|
protected readonly locatorConfig?: QueueLocatorType;
|
|
37
46
|
protected readonly deletionConfig?: DeletionConfig;
|
|
38
47
|
protected readonly payloadStoreConfig?: Omit<PayloadStoreConfig, 'serializer'> & Required<Pick<PayloadStoreConfig, 'serializer'>>;
|
|
39
|
-
protected readonly
|
|
48
|
+
protected readonly messageDeduplicationConfig?: MessageDeduplicationConfig;
|
|
40
49
|
protected readonly messageMetricsManager?: MessageMetricsManager<MessagePayloadSchemas>;
|
|
50
|
+
protected readonly _handlerSpy?: HandlerSpy<MessagePayloadSchemas>;
|
|
41
51
|
protected isInitted: boolean;
|
|
42
52
|
get handlerSpy(): PublicHandlerSpy<MessagePayloadSchemas>;
|
|
43
53
|
constructor({ errorReporter, logger, messageMetricsManager }: DependenciesType, options: OptionsType);
|
|
@@ -92,5 +102,30 @@ export declare abstract class AbstractQueueService<MessagePayloadSchemas extends
|
|
|
92
102
|
* Returns the original payload or an error if the payload was not found or could not be parsed.
|
|
93
103
|
*/
|
|
94
104
|
protected retrieveOffloadedMessagePayload(maybeOffloadedPayloadPointerPayload: unknown): Promise<Either<Error, unknown>>;
|
|
105
|
+
/**
|
|
106
|
+
* Checks if the message is duplicated against the deduplication store.
|
|
107
|
+
* Returns true if the message is duplicated.
|
|
108
|
+
* Returns false if message is not duplicated or deduplication config is missing.
|
|
109
|
+
*/
|
|
110
|
+
protected isMessageDuplicated(message: MessagePayloadSchemas, requester: DeduplicationRequester): Promise<boolean>;
|
|
111
|
+
/**
|
|
112
|
+
* Checks if the message is duplicated.
|
|
113
|
+
* If it's not, stores the deduplication key in the deduplication store and returns false.
|
|
114
|
+
* If it is, returns true.
|
|
115
|
+
* If deduplication config is not provided, always returns false to allow further processing of the message.
|
|
116
|
+
*/
|
|
117
|
+
protected deduplicateMessage(message: MessagePayloadSchemas, requester: DeduplicationRequester): Promise<{
|
|
118
|
+
isDuplicated: boolean;
|
|
119
|
+
}>;
|
|
120
|
+
/**
|
|
121
|
+
* Acquires exclusive lock for the message to prevent concurrent processing.
|
|
122
|
+
* If lock was acquired successfully, returns a lock object that should be released after processing.
|
|
123
|
+
* If lock couldn't be acquired due to timeout (meaning another process acquired it earlier), returns AcquireLockTimeoutError
|
|
124
|
+
* If lock couldn't be acquired for any other reasons or if deduplication config is not provided, always returns a lock object that does nothing, so message processing can continue.
|
|
125
|
+
*/
|
|
126
|
+
protected acquireLockForMessage(message: MessagePayloadSchemas): Promise<Either<AcquireLockTimeoutError, ReleasableLock>>;
|
|
127
|
+
protected isDeduplicationEnabledForMessage(message: MessagePayloadSchemas): boolean;
|
|
128
|
+
protected getMessageDeduplicationId(message: MessagePayloadSchemas): string | undefined;
|
|
129
|
+
private getParsedMessageDeduplicationOptions;
|
|
95
130
|
}
|
|
96
131
|
export {};
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AbstractQueueService = void 0;
|
|
4
4
|
const node_util_1 = require("node:util");
|
|
5
5
|
const node_core_1 = require("@lokalise/node-core");
|
|
6
|
+
const schemas_1 = require("@message-queue-toolkit/schemas");
|
|
7
|
+
const messageDeduplicationTypes_1 = require("../message-deduplication/messageDeduplicationTypes");
|
|
6
8
|
const JsonStreamStringifySerializer_1 = require("../payload-store/JsonStreamStringifySerializer");
|
|
7
9
|
const offloadedPayloadMessageSchemas_1 = require("../payload-store/offloadedPayloadMessageSchemas");
|
|
8
10
|
const payloadStoreTypes_1 = require("../payload-store/payloadStoreTypes");
|
|
@@ -16,12 +18,20 @@ class AbstractQueueService {
|
|
|
16
18
|
* Used to keep track of the number of `retryLater` results received for a message to be able to
|
|
17
19
|
* calculate the delay for the next retry
|
|
18
20
|
*/
|
|
19
|
-
|
|
21
|
+
messageRetryLaterCountField = '_internalRetryLaterCount';
|
|
20
22
|
/**
|
|
21
23
|
* Used to know when the message was sent initially so we can have a max retry date and avoid
|
|
22
24
|
* a infinite `retryLater` loop
|
|
23
25
|
*/
|
|
24
26
|
messageTimestampField;
|
|
27
|
+
/**
|
|
28
|
+
* Used to know the message deduplication id
|
|
29
|
+
*/
|
|
30
|
+
messageDeduplicationIdField;
|
|
31
|
+
/**
|
|
32
|
+
* Used to know the store-based message deduplication options
|
|
33
|
+
*/
|
|
34
|
+
messageDeduplicationOptionsField;
|
|
25
35
|
errorReporter;
|
|
26
36
|
logger;
|
|
27
37
|
messageIdField;
|
|
@@ -31,8 +41,9 @@ class AbstractQueueService {
|
|
|
31
41
|
locatorConfig;
|
|
32
42
|
deletionConfig;
|
|
33
43
|
payloadStoreConfig;
|
|
34
|
-
|
|
44
|
+
messageDeduplicationConfig;
|
|
35
45
|
messageMetricsManager;
|
|
46
|
+
_handlerSpy;
|
|
36
47
|
isInitted;
|
|
37
48
|
get handlerSpy() {
|
|
38
49
|
if (!this._handlerSpy) {
|
|
@@ -47,6 +58,9 @@ class AbstractQueueService {
|
|
|
47
58
|
this.messageIdField = options.messageIdField ?? 'id';
|
|
48
59
|
this.messageTypeField = options.messageTypeField;
|
|
49
60
|
this.messageTimestampField = options.messageTimestampField ?? 'timestamp';
|
|
61
|
+
this.messageDeduplicationIdField = options.messageDeduplicationIdField ?? 'deduplicationId';
|
|
62
|
+
this.messageDeduplicationOptionsField =
|
|
63
|
+
options.messageDeduplicationOptionsField ?? 'deduplicationOptions';
|
|
50
64
|
this.creationConfig = options.creationConfig;
|
|
51
65
|
this.locatorConfig = options.locatorConfig;
|
|
52
66
|
this.deletionConfig = options.deletionConfig;
|
|
@@ -56,6 +70,7 @@ class AbstractQueueService {
|
|
|
56
70
|
...options.payloadStoreConfig,
|
|
57
71
|
}
|
|
58
72
|
: undefined;
|
|
73
|
+
this.messageDeduplicationConfig = options.messageDeduplicationConfig;
|
|
59
74
|
this.logMessages = options.logMessages ?? false;
|
|
60
75
|
this._handlerSpy = (0, HandlerSpy_1.resolveHandlerSpy)(options);
|
|
61
76
|
this.isInitted = false;
|
|
@@ -105,16 +120,13 @@ class AbstractQueueService {
|
|
|
105
120
|
handleMessageProcessed(params) {
|
|
106
121
|
const { message, processingResult, messageId } = params;
|
|
107
122
|
const messageProcessingEndTimestamp = Date.now();
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}, messageId);
|
|
113
|
-
}
|
|
123
|
+
this._handlerSpy?.addProcessedMessage({
|
|
124
|
+
message,
|
|
125
|
+
processingResult,
|
|
126
|
+
}, messageId);
|
|
114
127
|
const debugLoggingEnabled = this.logMessages && this.logger.isLevelEnabled('debug');
|
|
115
|
-
if (!debugLoggingEnabled && !this.messageMetricsManager)
|
|
128
|
+
if (!debugLoggingEnabled && !this.messageMetricsManager)
|
|
116
129
|
return;
|
|
117
|
-
}
|
|
118
130
|
const processedMessageMetadata = this.resolveProcessedMessageMetadata(message, processingResult, params.messageProcessingStartTimestamp, messageProcessingEndTimestamp, params.queueName, messageId);
|
|
119
131
|
if (debugLoggingEnabled) {
|
|
120
132
|
this.logger.debug(processedMessageMetadata, `Finished processing message ${processedMessageMetadata.messageId}`);
|
|
@@ -131,6 +143,10 @@ class AbstractQueueService {
|
|
|
131
143
|
? // @ts-ignore
|
|
132
144
|
message[this.messageTypeField]
|
|
133
145
|
: undefined;
|
|
146
|
+
const messageDeduplicationId = message && this.messageDeduplicationIdField in message
|
|
147
|
+
? // @ts-ignore
|
|
148
|
+
message[this.messageDeduplicationId]
|
|
149
|
+
: undefined;
|
|
134
150
|
return {
|
|
135
151
|
processingResult,
|
|
136
152
|
messageId: resolvedMessageId ?? '(unknown id)',
|
|
@@ -138,6 +154,7 @@ class AbstractQueueService {
|
|
|
138
154
|
queueName,
|
|
139
155
|
message,
|
|
140
156
|
messageTimestamp,
|
|
157
|
+
messageDeduplicationId,
|
|
141
158
|
messageProcessingStartTimestamp,
|
|
142
159
|
messageProcessingEndTimestamp,
|
|
143
160
|
};
|
|
@@ -195,7 +212,7 @@ class AbstractQueueService {
|
|
|
195
212
|
*/
|
|
196
213
|
const numberOfRetries = this.tryToExtractNumberOfRetries(message);
|
|
197
214
|
// @ts-ignore
|
|
198
|
-
messageCopy[this.
|
|
215
|
+
messageCopy[this.messageRetryLaterCountField] =
|
|
199
216
|
numberOfRetries !== undefined ? numberOfRetries + 1 : 0;
|
|
200
217
|
return messageCopy;
|
|
201
218
|
}
|
|
@@ -212,10 +229,10 @@ class AbstractQueueService {
|
|
|
212
229
|
return undefined;
|
|
213
230
|
}
|
|
214
231
|
tryToExtractNumberOfRetries(message) {
|
|
215
|
-
if (this.
|
|
216
|
-
typeof message[this.
|
|
232
|
+
if (this.messageRetryLaterCountField in message &&
|
|
233
|
+
typeof message[this.messageRetryLaterCountField] === 'number') {
|
|
217
234
|
// @ts-ignore
|
|
218
|
-
return message[this.
|
|
235
|
+
return message[this.messageRetryLaterCountField];
|
|
219
236
|
}
|
|
220
237
|
return undefined;
|
|
221
238
|
}
|
|
@@ -265,6 +282,10 @@ class AbstractQueueService {
|
|
|
265
282
|
[this.messageTypeField]: message[this.messageTypeField],
|
|
266
283
|
// @ts-ignore
|
|
267
284
|
[this.messageTimestampField]: message[this.messageTimestampField],
|
|
285
|
+
// @ts-ignore
|
|
286
|
+
[this.messageDeduplicationIdField]: message[this.messageDeduplicationIdField],
|
|
287
|
+
// @ts-ignore
|
|
288
|
+
[this.messageDeduplicationOptionsField]: message[this.messageDeduplicationOptionsField],
|
|
268
289
|
};
|
|
269
290
|
}
|
|
270
291
|
/**
|
|
@@ -299,6 +320,89 @@ class AbstractQueueService {
|
|
|
299
320
|
return { error: new Error('Failed to parse serialized offloaded payload', { cause: e }) };
|
|
300
321
|
}
|
|
301
322
|
}
|
|
323
|
+
/**
|
|
324
|
+
* Checks if the message is duplicated against the deduplication store.
|
|
325
|
+
* Returns true if the message is duplicated.
|
|
326
|
+
* Returns false if message is not duplicated or deduplication config is missing.
|
|
327
|
+
*/
|
|
328
|
+
async isMessageDuplicated(message, requester) {
|
|
329
|
+
if (!this.isDeduplicationEnabledForMessage(message)) {
|
|
330
|
+
return false;
|
|
331
|
+
}
|
|
332
|
+
const deduplicationId = this.getMessageDeduplicationId(message);
|
|
333
|
+
const deduplicationConfig = this.messageDeduplicationConfig;
|
|
334
|
+
try {
|
|
335
|
+
return await deduplicationConfig.deduplicationStore.keyExists(`${requester.toString()}:${deduplicationId}`);
|
|
336
|
+
}
|
|
337
|
+
catch (err) {
|
|
338
|
+
this.handleError(err);
|
|
339
|
+
// In case of errors, we treat the message as not duplicated to enable further processing
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Checks if the message is duplicated.
|
|
345
|
+
* If it's not, stores the deduplication key in the deduplication store and returns false.
|
|
346
|
+
* If it is, returns true.
|
|
347
|
+
* If deduplication config is not provided, always returns false to allow further processing of the message.
|
|
348
|
+
*/
|
|
349
|
+
async deduplicateMessage(message, requester) {
|
|
350
|
+
if (!this.isDeduplicationEnabledForMessage(message)) {
|
|
351
|
+
return { isDuplicated: false };
|
|
352
|
+
}
|
|
353
|
+
const deduplicationId = this.getMessageDeduplicationId(message);
|
|
354
|
+
const { deduplicationWindowSeconds } = this.getParsedMessageDeduplicationOptions(message);
|
|
355
|
+
const deduplicationConfig = this.messageDeduplicationConfig;
|
|
356
|
+
try {
|
|
357
|
+
const wasDeduplicationKeyStored = await deduplicationConfig.deduplicationStore.setIfNotExists(`${requester.toString()}:${deduplicationId}`, new Date().toISOString(), deduplicationWindowSeconds);
|
|
358
|
+
return { isDuplicated: !wasDeduplicationKeyStored };
|
|
359
|
+
}
|
|
360
|
+
catch (err) {
|
|
361
|
+
this.handleError(err);
|
|
362
|
+
// In case of errors, we treat the message as not duplicated to enable further processing
|
|
363
|
+
return { isDuplicated: false };
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Acquires exclusive lock for the message to prevent concurrent processing.
|
|
368
|
+
* If lock was acquired successfully, returns a lock object that should be released after processing.
|
|
369
|
+
* If lock couldn't be acquired due to timeout (meaning another process acquired it earlier), returns AcquireLockTimeoutError
|
|
370
|
+
* If lock couldn't be acquired for any other reasons or if deduplication config is not provided, always returns a lock object that does nothing, so message processing can continue.
|
|
371
|
+
*/
|
|
372
|
+
async acquireLockForMessage(message) {
|
|
373
|
+
if (!this.isDeduplicationEnabledForMessage(message)) {
|
|
374
|
+
return { result: messageDeduplicationTypes_1.noopReleasableLock };
|
|
375
|
+
}
|
|
376
|
+
const deduplicationId = this.getMessageDeduplicationId(message);
|
|
377
|
+
const deduplicationOptions = this.getParsedMessageDeduplicationOptions(message);
|
|
378
|
+
const deduplicationConfig = this.messageDeduplicationConfig;
|
|
379
|
+
const acquireLockResult = await deduplicationConfig.deduplicationStore.acquireLock(`${messageDeduplicationTypes_1.DeduplicationRequester.Consumer.toString()}:${deduplicationId}`, deduplicationOptions);
|
|
380
|
+
if (acquireLockResult.error && !(acquireLockResult.error instanceof messageDeduplicationTypes_1.AcquireLockTimeoutError)) {
|
|
381
|
+
this.handleError(acquireLockResult.error);
|
|
382
|
+
return { result: messageDeduplicationTypes_1.noopReleasableLock };
|
|
383
|
+
}
|
|
384
|
+
return acquireLockResult;
|
|
385
|
+
}
|
|
386
|
+
isDeduplicationEnabledForMessage(message) {
|
|
387
|
+
return !!this.messageDeduplicationConfig && !!this.getMessageDeduplicationId(message);
|
|
388
|
+
}
|
|
389
|
+
getMessageDeduplicationId(message) {
|
|
390
|
+
// @ts-ignore
|
|
391
|
+
return message[this.messageDeduplicationIdField];
|
|
392
|
+
}
|
|
393
|
+
getParsedMessageDeduplicationOptions(message) {
|
|
394
|
+
const parsedOptions = schemas_1.MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA.safeParse(
|
|
395
|
+
// @ts-expect-error
|
|
396
|
+
message[this.messageDeduplicationOptionsField] ?? {});
|
|
397
|
+
if (parsedOptions.error) {
|
|
398
|
+
this.logger.warn({ error: parsedOptions.error.message }, `${this.messageDeduplicationOptionsField} contains one or more invalid values, falling back to default options`);
|
|
399
|
+
return messageDeduplicationTypes_1.DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS;
|
|
400
|
+
}
|
|
401
|
+
return {
|
|
402
|
+
...messageDeduplicationTypes_1.DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS,
|
|
403
|
+
...Object.fromEntries(Object.entries(parsedOptions.data).filter(([_, value]) => value !== undefined)),
|
|
404
|
+
};
|
|
405
|
+
}
|
|
302
406
|
}
|
|
303
407
|
exports.AbstractQueueService = AbstractQueueService;
|
|
304
408
|
//# sourceMappingURL=AbstractQueueService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractQueueService.js","sourceRoot":"","sources":["../../../lib/queues/AbstractQueueService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractQueueService.js","sourceRoot":"","sources":["../../../lib/queues/AbstractQueueService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MessageProcessingResult } from '../types/MessageQueueTypes';
|
|
1
|
+
import type { MessageProcessingResult, MessageProcessingResultStatus } from '../types/MessageQueueTypes';
|
|
2
2
|
export type HandlerSpyParams = {
|
|
3
3
|
bufferSize?: number;
|
|
4
4
|
messageIdField?: string;
|
|
@@ -25,9 +25,9 @@ export declare class HandlerSpy<MessagePayloadSchemas extends object> {
|
|
|
25
25
|
private readonly spyPromises;
|
|
26
26
|
constructor(params?: HandlerSpyParams);
|
|
27
27
|
private messageMatchesFilter;
|
|
28
|
-
waitForMessageWithId<T extends MessagePayloadSchemas>(id: string,
|
|
29
|
-
checkForMessage<T extends MessagePayloadSchemas>(expectedFields: DeepPartial<T>,
|
|
30
|
-
waitForMessage<T extends MessagePayloadSchemas>(expectedFields: DeepPartial<T>,
|
|
28
|
+
waitForMessageWithId<T extends MessagePayloadSchemas>(id: string, status?: MessageProcessingResultStatus): Promise<SpyResultOutput<T>>;
|
|
29
|
+
checkForMessage<T extends MessagePayloadSchemas>(expectedFields: DeepPartial<T>, status?: MessageProcessingResultStatus): SpyResultOutput<T> | undefined;
|
|
30
|
+
waitForMessage<T extends MessagePayloadSchemas>(expectedFields: DeepPartial<T>, status?: MessageProcessingResultStatus): Promise<SpyResultOutput<T>>;
|
|
31
31
|
clear(): void;
|
|
32
32
|
addProcessedMessage(processingResult: SpyResultInput<MessagePayloadSchemas>, messageId?: string): void;
|
|
33
33
|
}
|
|
@@ -26,24 +26,22 @@ class HandlerSpy {
|
|
|
26
26
|
this.messageTypeField = params.messageTypeField ?? 'type';
|
|
27
27
|
this.spyPromises = [];
|
|
28
28
|
}
|
|
29
|
-
messageMatchesFilter(spyResult, fields,
|
|
29
|
+
messageMatchesFilter(spyResult, fields, status) {
|
|
30
30
|
return ((0, matchUtils_1.objectMatches)(fields, spyResult.message) &&
|
|
31
|
-
(!
|
|
31
|
+
(!status || spyResult.processingResult.status === status));
|
|
32
32
|
}
|
|
33
|
-
waitForMessageWithId(id,
|
|
33
|
+
waitForMessageWithId(id, status) {
|
|
34
34
|
return this.waitForMessage(
|
|
35
|
-
// @ts-
|
|
36
|
-
{
|
|
37
|
-
[this.messageIdField]: id,
|
|
38
|
-
}, processingResult);
|
|
35
|
+
// @ts-expect-error
|
|
36
|
+
{ [this.messageIdField]: id }, status);
|
|
39
37
|
}
|
|
40
|
-
checkForMessage(expectedFields,
|
|
38
|
+
checkForMessage(expectedFields, status) {
|
|
41
39
|
return Object.values(this.messageBuffer.items).find((spyResult) => {
|
|
42
|
-
return this.messageMatchesFilter(spyResult.value, expectedFields,
|
|
40
|
+
return this.messageMatchesFilter(spyResult.value, expectedFields, status);
|
|
43
41
|
})?.value;
|
|
44
42
|
}
|
|
45
|
-
waitForMessage(expectedFields,
|
|
46
|
-
const processedMessageEntry = this.checkForMessage(expectedFields,
|
|
43
|
+
waitForMessage(expectedFields, status) {
|
|
44
|
+
const processedMessageEntry = this.checkForMessage(expectedFields, status);
|
|
47
45
|
if (processedMessageEntry) {
|
|
48
46
|
return Promise.resolve(processedMessageEntry);
|
|
49
47
|
}
|
|
@@ -53,7 +51,7 @@ class HandlerSpy {
|
|
|
53
51
|
});
|
|
54
52
|
this.spyPromises.push({
|
|
55
53
|
promise: spyPromise,
|
|
56
|
-
|
|
54
|
+
status,
|
|
57
55
|
fields: expectedFields,
|
|
58
56
|
// @ts-ignore
|
|
59
57
|
resolve,
|
|
@@ -83,7 +81,7 @@ class HandlerSpy {
|
|
|
83
81
|
.substring(7)}`;
|
|
84
82
|
this.messageBuffer.set(cacheId, resolvedProcessingResult);
|
|
85
83
|
const foundPromise = this.spyPromises.find((spyPromise) => {
|
|
86
|
-
return this.messageMatchesFilter(resolvedProcessingResult, spyPromise.fields, spyPromise.
|
|
84
|
+
return this.messageMatchesFilter(resolvedProcessingResult, spyPromise.fields, spyPromise.status);
|
|
87
85
|
});
|
|
88
86
|
if (foundPromise) {
|
|
89
87
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandlerSpy.js","sourceRoot":"","sources":["../../../lib/queues/HandlerSpy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"HandlerSpy.js","sourceRoot":"","sources":["../../../lib/queues/HandlerSpy.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,16 @@ export interface QueueConsumer {
|
|
|
5
5
|
start(): Promise<unknown>;
|
|
6
6
|
close(): Promise<unknown>;
|
|
7
7
|
}
|
|
8
|
-
export type MessageProcessingResult =
|
|
8
|
+
export type MessageProcessingResult = {
|
|
9
|
+
status: 'retryLater';
|
|
10
|
+
} | {
|
|
11
|
+
status: 'consumed' | 'published';
|
|
12
|
+
skippedAsDuplicate?: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
status: 'error';
|
|
15
|
+
errorReason: 'invalidMessage' | 'handlerError' | 'retryLaterExceeded';
|
|
16
|
+
};
|
|
17
|
+
export type MessageProcessingResultStatus = MessageProcessingResult['status'];
|
|
9
18
|
export interface SyncPublisher<MessagePayloadType extends object, MessageOptions> {
|
|
10
19
|
handlerSpy: PublicHandlerSpy<MessagePayloadType>;
|
|
11
20
|
publish(message: MessagePayloadType, options: MessageOptions): void;
|
|
@@ -3,6 +3,7 @@ import type { ZodSchema } from 'zod';
|
|
|
3
3
|
import type { PayloadStoreConfig } from '../payload-store/payloadStoreTypes';
|
|
4
4
|
import type { MessageHandlerConfig } from '../queues/HandlerContainer';
|
|
5
5
|
import type { HandlerSpy, HandlerSpyParams } from '../queues/HandlerSpy';
|
|
6
|
+
import type { MessageDeduplicationConfig } from '../message-deduplication/messageDeduplicationTypes';
|
|
6
7
|
import type { MessageProcessingResult, TransactionObservabilityManager } from './MessageQueueTypes';
|
|
7
8
|
export type QueueDependencies = {
|
|
8
9
|
errorReporter: ErrorReporter;
|
|
@@ -43,6 +44,10 @@ export type ProcessedMessageMetadata<MessagePayloadSchemas extends object = obje
|
|
|
43
44
|
* The timestamp when the processing of the message ended, in milliseconds since the epoch
|
|
44
45
|
*/
|
|
45
46
|
messageProcessingEndTimestamp: number;
|
|
47
|
+
/**
|
|
48
|
+
* ID used for the message deduplication, in case it's enabled
|
|
49
|
+
*/
|
|
50
|
+
messageDeduplicationId?: string;
|
|
46
51
|
};
|
|
47
52
|
export interface MessageMetricsManager<MessagePayloadSchemas extends object = object> {
|
|
48
53
|
/**
|
|
@@ -59,10 +64,13 @@ export type CommonQueueOptions = {
|
|
|
59
64
|
messageTypeField: string;
|
|
60
65
|
messageIdField?: string;
|
|
61
66
|
messageTimestampField?: string;
|
|
67
|
+
messageDeduplicationIdField?: string;
|
|
68
|
+
messageDeduplicationOptionsField?: string;
|
|
62
69
|
handlerSpy?: HandlerSpy<object> | HandlerSpyParams | boolean;
|
|
63
70
|
logMessages?: boolean;
|
|
64
71
|
deletionConfig?: DeletionConfig;
|
|
65
72
|
payloadStoreConfig?: PayloadStoreConfig;
|
|
73
|
+
messageDeduplicationConfig?: MessageDeduplicationConfig;
|
|
66
74
|
};
|
|
67
75
|
export type CommonCreationConfigType = {
|
|
68
76
|
updateAttributesIfExists?: boolean;
|
|
@@ -81,6 +89,7 @@ type ExistingQueueOptions<QueueLocatorType extends object> = {
|
|
|
81
89
|
export type QueueOptions<CreationConfigType extends CommonCreationConfigType, QueueLocatorType extends object> = CommonQueueOptions & (NewQueueOptions<CreationConfigType> & ExistingQueueOptions<QueueLocatorType>);
|
|
82
90
|
export type QueuePublisherOptions<CreationConfigType extends CommonCreationConfigType, QueueLocatorType extends object, MessagePayloadSchemas extends object> = QueueOptions<CreationConfigType, QueueLocatorType> & {
|
|
83
91
|
messageSchemas: readonly ZodSchema<MessagePayloadSchemas>[];
|
|
92
|
+
enablePublisherDeduplication?: boolean;
|
|
84
93
|
};
|
|
85
94
|
export type DeadLetterQueueOptions<CreationConfigType extends object, QueueLocatorType extends object, DeadLetterQueueIntegrationOptions extends object> = {
|
|
86
95
|
deletionConfig?: DeletionConfig;
|
|
@@ -89,5 +98,6 @@ export type QueueConsumerOptions<CreationConfigType extends object, QueueLocator
|
|
|
89
98
|
handlers: MessageHandlerConfig<MessagePayloadSchemas, ExecutionContext, PrehandlerOutput>[];
|
|
90
99
|
deadLetterQueue?: DeadLetterQueueOptions<DeadLetterQueueCreationConfigType, DeadLetterQueueQueueLocatorType, DeadLetterQueueIntegrationOptions>;
|
|
91
100
|
maxRetryDuration?: number;
|
|
101
|
+
enableConsumerDeduplication?: boolean;
|
|
92
102
|
};
|
|
93
103
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Useful utilities, interfaces and base classes for message queue handling. Supports AMQP and SQS with a common abstraction on top currently",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@lokalise/node-core": "^13.3.0",
|
|
29
|
-
"@message-queue-toolkit/schemas": "^
|
|
29
|
+
"@message-queue-toolkit/schemas": "^5.0.0",
|
|
30
30
|
"fast-equals": "^5.0.1",
|
|
31
31
|
"json-stream-stringify": "^3.1.6",
|
|
32
32
|
"tmp": "^0.2.3",
|
|
@@ -38,12 +38,12 @@
|
|
|
38
38
|
"@kibertoad/biome-config": "^1.2.1",
|
|
39
39
|
"@types/node": "^22.7.5",
|
|
40
40
|
"@types/tmp": "^0.2.6",
|
|
41
|
-
"@vitest/coverage-v8": "^
|
|
41
|
+
"@vitest/coverage-v8": "^3.0.7",
|
|
42
42
|
"awilix": "^12.0.1",
|
|
43
43
|
"awilix-manager": "^6.0.0",
|
|
44
44
|
"del-cli": "^6.0.0",
|
|
45
45
|
"typescript": "^5.7.2",
|
|
46
|
-
"vitest": "^
|
|
46
|
+
"vitest": "^3.0.7"
|
|
47
47
|
},
|
|
48
48
|
"homepage": "https://github.com/kibertoad/message-queue-toolkit",
|
|
49
49
|
"repository": {
|