UNPKG

durable-execution

Version:

A durable task engine for running tasks durably and resiliently

69 lines 3.72 kB
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