durable-execution
Version:
A durable task engine for running tasks durably and resiliently
69 lines • 3.72 kB
TypeScript
import { type CancelSignal } from './cancel';
import { type DurableChildTask, type DurableParentTaskOptions, type DurableTaskEnqueueOptions, type DurableTaskOptions, type DurableTaskRetryOptions, type DurableTaskRunContext } from './task';
export type DurableTaskOptionsInternal = {
id: string;
retryOptions: DurableTaskRetryOptions | undefined;
sleepMsBeforeRun: number | undefined;
timeoutMs: number;
validateInputFn: ((id: string, input: unknown) => Promise<unknown>) | undefined;
disableChildrenTasksOutputsInOutput: boolean;
runParent: (ctx: DurableTaskRunContext, input: unknown) => Promise<{
output: unknown;
childrenTasks: Array<DurableChildTask>;
}>;
finalizeTask: DurableTaskOptionsInternal | undefined;
};
export declare class DurableTaskInternal {
private readonly taskInternalsMap;
readonly id: string;
readonly retryOptions: DurableTaskRetryOptions;
private readonly sleepMsBeforeRun;
private readonly timeoutMs;
private readonly validateInputFn;
readonly disableChildrenTasksOutputsInOutput: boolean;
private readonly runParent;
readonly finalizeTask: DurableTaskInternal | undefined;
constructor(taskInternalsMap: Map<string, DurableTaskInternal>, id: string, retryOptions: DurableTaskRetryOptions, sleepMsBeforeRun: number, timeoutMs: number, validateInputFn: ((id: string, input: unknown) => Promise<unknown>) | undefined, disableChildrenTasksOutputsInOutput: boolean, runParent: (ctx: DurableTaskRunContext, input: unknown) => Promise<{
output: unknown;
childrenTasks: Array<DurableChildTask>;
}>, finalizeTask: DurableTaskInternal | undefined);
static fromDurableTaskOptionsInternal(taskInternalsMap: Map<string, DurableTaskInternal>, taskOptions: DurableTaskOptionsInternal): DurableTaskInternal;
static fromDurableTaskOptions<TRunInput, TInput, TOutput>(taskInternalsMap: Map<string, DurableTaskInternal>, taskOptions: DurableTaskOptions<TRunInput, TOutput>, validateInputFn?: (id: string, input: TInput) => TRunInput | Promise<TRunInput>): DurableTaskInternal;
static fromDurableParentTaskOptions<TRunInput, TInput = TRunInput, TRunOutput = unknown, TOutput = unknown, TFinalizeTaskRunOutput = unknown>(taskInternalsMap: Map<string, DurableTaskInternal>, taskOptions: DurableParentTaskOptions<TRunInput, TRunOutput, TOutput, TFinalizeTaskRunOutput>, validateInputFn?: (id: string, input: TInput) => TRunInput | Promise<TRunInput>): DurableTaskInternal;
validateEnqueueOptions(options?: DurableTaskEnqueueOptions): DurableTaskEnqueueOptions;
getRetryOptions(options?: DurableTaskEnqueueOptions): DurableTaskRetryOptions;
getSleepMsBeforeRun(options?: DurableTaskEnqueueOptions): number;
getTimeoutMs(options?: DurableTaskEnqueueOptions): number;
validateInput(input: unknown): Promise<unknown>;
runParentWithTimeoutAndCancellation(ctx: DurableTaskRunContext, input: unknown, timeoutMs: number, cancelSignal: CancelSignal): Promise<{
output: unknown;
childrenTasks: Array<DurableChildTask>;
}>;
}
/**
* Generate a task id.
*
* @returns A task id.
*
* @category Task
*/
export declare function generateTaskId(): string;
/**
* Generate a task execution id.
*
* @returns A task execution id.
*
* @category Task
*/
export declare function generateTaskExecutionId(): string;
/**
* Validate an id. Make sure it is not empty, not longer than 255 characters, and only contains
* alphanumeric characters and underscores.
*
* @param id - The id to validate.
* @throws An error if the id is invalid.
*
* @category Task
*/
export declare function validateTaskId(id: string): void;
//# sourceMappingURL=task-internal.d.ts.map