UNPKG

trigger.dev

Version:

A Command-Line Interface for Trigger.dev projects

67 lines (66 loc) 2.69 kB
import { CompletedWaitpoint, ExecutorToWorkerMessageCatalog, MachinePresetResources, ServerBackgroundWorker, TaskRunExecutionPayload, TaskRunExecutionResult, type TaskRunInternalError, WorkerManifest } from "@trigger.dev/core/v3"; import { Evt } from "evt"; import { InferSocketMessageSchema } from "@trigger.dev/core/v3/zodSocket"; export type OnSendDebugLogMessage = InferSocketMessageSchema<typeof ExecutorToWorkerMessageCatalog, "SEND_DEBUG_LOG">; export type OnSetSuspendableMessage = InferSocketMessageSchema<typeof ExecutorToWorkerMessageCatalog, "SET_SUSPENDABLE">; export type TaskRunProcessOptions = { workerManifest: WorkerManifest; serverWorker: ServerBackgroundWorker; env: Record<string, string>; machineResources: MachinePresetResources; isWarmStart?: boolean; cwd?: string; gracefulTerminationTimeoutInMs?: number; }; export type TaskRunProcessExecuteParams = { payload: TaskRunExecutionPayload; messageId: string; env?: Record<string, string>; }; export declare class TaskRunProcess { #private; readonly options: TaskRunProcessOptions; private _ipc?; private _child; private _childPid?; private _attemptPromises; private _attemptStatuses; private _currentExecution; private _gracefulExitTimeoutElapsed; private _isBeingKilled; private _isBeingCancelled; private _isBeingSuspended; private _isMaxDurationExceeded; private _maxDurationInfo?; private _stderr; onTaskRunHeartbeat: Evt<string>; onExit: Evt<{ code: number | null; signal: NodeJS.Signals | null; pid?: number; }>; onSendDebugLog: Evt<OnSendDebugLogMessage>; onSetSuspendable: Evt<OnSetSuspendableMessage>; private _isPreparedForNextRun; private _isPreparedForNextAttempt; constructor(options: TaskRunProcessOptions); get isPreparedForNextRun(): boolean; get isPreparedForNextAttempt(): boolean; unsafeDetachEvtHandlers(): void; cancel(): Promise<void>; cleanup(kill?: boolean): Promise<void>; initialize(): this; execute(params: TaskRunProcessExecuteParams, isWarmStart?: boolean): Promise<TaskRunExecutionResult>; isExecuting(): boolean; waitpointCompleted(waitpoint: CompletedWaitpoint): void; /** This will never throw. */ kill(signal?: number | NodeJS.Signals, timeoutInMs?: number): Promise<void>; suspend({ flush }: { flush: boolean; }): Promise<void>; get isBeingKilled(): boolean | undefined; get isBeingSuspended(): boolean; get pid(): number | undefined; get isHealthy(): boolean; static parseExecuteError(error: unknown, dockerMode?: boolean): TaskRunInternalError; }