n8n
Version:
n8n Workflow Automation Tool
24 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isTransientActivationError = void 0;
exports.retryTriggerActivation = retryTriggerActivation;
const ensure_error_1 = require("@n8n/utils/errors/ensure-error");
const n8n_workflow_1 = require("n8n-workflow");
const constants_1 = require("../../constants");
const isTransientActivationError = (error) => !(error instanceof n8n_workflow_1.WebhookPathTakenError);
exports.isTransientActivationError = isTransientActivationError;
async function retryTriggerActivation(activate, maxAttempts) {
for (let attempt = 0;; attempt++) {
try {
await activate();
return;
}
catch (error) {
const isLastAttempt = attempt >= maxAttempts - 1;
if (!(0, exports.isTransientActivationError)((0, ensure_error_1.ensureError)(error)) || isLastAttempt)
throw error;
await (0, n8n_workflow_1.sleep)(Math.min(constants_1.WORKFLOW_REACTIVATE_INITIAL_TIMEOUT * 2 ** attempt, constants_1.WORKFLOW_REACTIVATE_MAX_TIMEOUT));
}
}
}
//# sourceMappingURL=trigger-activation-retry.js.map