pg-transactional-outbox
Version:
A PostgreSQL based transactional outbox and inbox pattern implementation to support exactly once message processing (with at least once message delivery).
15 lines • 748 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultPoisonousMessageRetryStrategy = void 0;
/**
* Get the default message retry strategy for poisonous messages. This strategy
* checks that the difference between started attempts and finished attempts is
* not exceeded. The number can be defined in the
* `config.settings.maxPoisonousAttempts` variable.
*/
const defaultPoisonousMessageRetryStrategy = (config) => (message) => {
const diff = message.startedAttempts - message.finishedAttempts;
return diff <= config.settings.maxPoisonousAttempts;
};
exports.defaultPoisonousMessageRetryStrategy = defaultPoisonousMessageRetryStrategy;
//# sourceMappingURL=poisonous-message-retry-strategy.js.map