@arturwojnar/hermes-postgresql
Version:
Production-Ready TypeScript Outbox Pattern for PostgreSQL
18 lines • 854 B
JavaScript
import { clearInterval, setInterval } from 'node:timers';
const createIntervalResendingStrategy = () => ({ getMessages, publishMessage, isPublishing, interval }) => {
const _iteration = () => {
const failedMessage = getMessages().find((message) => !message.delivered && message.failed);
if (failedMessage) {
publishMessage(failedMessage);
}
const notDeliveredMessage = getMessages().find((message) => !message.delivered && !message.failed);
if (!isPublishing() && notDeliveredMessage) {
console.log('~~!!!!!!!!!!!!!!!!!!!');
publishMessage(notDeliveredMessage);
}
};
const timer = setInterval(_iteration, interval.ms);
return () => clearInterval(timer);
};
export { createIntervalResendingStrategy };
//# sourceMappingURL=intervalResendingStrategy.js.map