durabull
Version:
A durable workflow engine built on top of BullMQ and Redis
23 lines (22 loc) • 830 B
TypeScript
export interface WorkflowConfig {
queue?: string;
connection?: {
redisUrl?: string;
};
}
type AsyncGeneratorLike = AsyncGenerator<unknown, unknown, unknown>;
export declare abstract class Workflow<TArgs extends unknown[] = unknown[], TResult = unknown> {
queue?: string;
connection?: {
redisUrl?: string;
};
private compensations;
private parallelCompensation;
private continueWithError;
abstract execute(...args: TArgs): AsyncGenerator<unknown, TResult, unknown>;
protected addCompensation(fn: () => AsyncGeneratorLike | Promise<unknown> | unknown): void;
protected compensate(): AsyncGenerator<unknown, void, unknown>;
protected setParallelCompensation(parallel: boolean): void;
protected setContinueWithError(continueOnError: boolean): void;
}
export {};