durabull
Version:
A durable workflow engine built on top of BullMQ and Redis
37 lines (36 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WorkflowContinueAsNewError = exports.WorkflowWaitError = exports.NonRetryableError = void 0;
/**
* Non-retryable error - stops activity retries immediately
*/
class NonRetryableError extends Error {
constructor(message) {
super(message);
this.name = 'NonRetryableError';
}
}
exports.NonRetryableError = NonRetryableError;
/**
* Error thrown when workflow needs to wait for external events.
* The `message` parameter should be a descriptive explanation of why the workflow is waiting,
* e.g., "Timer 123 waiting 10s". If not provided, defaults to "Workflow waiting".
*/
class WorkflowWaitError extends Error {
constructor(message) {
super(message ?? 'Workflow waiting');
this.name = 'WorkflowWaitError';
}
}
exports.WorkflowWaitError = WorkflowWaitError;
/**
* Error thrown when workflow continues as new
*/
class WorkflowContinueAsNewError extends Error {
constructor(workflowId) {
super(`Workflow continued as new: ${workflowId}`);
this.workflowId = workflowId;
this.name = 'WorkflowContinueAsNewError';
}
}
exports.WorkflowContinueAsNewError = WorkflowContinueAsNewError;