UNPKG

@convex-dev/workflow

Version:

Convex component for durably executing workflows.

43 lines 1.64 kB
import { BaseChannel } from "async-channel"; import { GenericMutationCtx, GenericDataModel, FunctionType, FunctionReference } from "convex/server"; import { JournalEntry } from "../component/schema.js"; import { api } from "../component/_generated/api.js"; import { UseApi } from "../types.js"; import { RetryBehavior, WorkpoolOptions, RunResult, SchedulerOptions } from "@convex-dev/workpool"; export type OriginalEnv = { Date: { now: () => number; }; }; export type WorkerResult = { type: "handlerDone"; runResult: RunResult; } | { type: "executorBlocked"; }; export type StepRequest = { name: string; functionType: FunctionType; function: FunctionReference<any>; args: any; retry: RetryBehavior | boolean | undefined; schedulerOptions: SchedulerOptions; resolve: (result: unknown) => void; reject: (error: unknown) => void; }; export declare class StepExecutor { private workflowId; private generationNumber; private ctx; private component; private journalEntries; private receiver; private originalEnv; private workpoolOptions; private journalEntrySize; constructor(workflowId: string, generationNumber: number, ctx: GenericMutationCtx<GenericDataModel>, component: UseApi<typeof api>, journalEntries: Array<JournalEntry>, receiver: BaseChannel<StepRequest>, originalEnv: OriginalEnv, workpoolOptions: WorkpoolOptions | undefined); run(): Promise<WorkerResult>; completeMessage(message: StepRequest, entry: JournalEntry): void; startStep(message: StepRequest): Promise<JournalEntry>; } //# sourceMappingURL=step.d.ts.map