UNPKG

trigger.dev

Version:

A Command-Line Interface for Trigger.dev projects

64 lines (63 loc) 2.29 kB
import { WorkerManifest } from "@trigger.dev/core/v3"; import { type WorkloadClientToServerEvents, type WorkloadServerToClientEvents } from "@trigger.dev/core/v3/workers"; import { type Socket } from "socket.io-client"; import { SendDebugLogOptions } from "./logger.js"; import { EnvObject } from "std-env"; type ManagedRunControllerOptions = { workerManifest: WorkerManifest; env: EnvObject; }; export type SupervisorSocket = Socket<WorkloadServerToClientEvents, WorkloadClientToServerEvents>; export declare class ManagedRunController { private readonly env; private readonly workerManifest; private readonly httpClient; private readonly warmStartClient; private socket; private readonly logger; private readonly taskRunProcessProvider; private warmStartEnabled; private warmStartCount; private restoreCount; private notificationCount; private lastNotificationAt; private currentExecution; private processKeepAliveEnabled; private processKeepAliveMaxExecutionCount; constructor(opts: ManagedRunControllerOptions); get metrics(): { processKeepAlive: { enabled: boolean; executionCount: number; maxExecutionCount: number; hasPersistentProcess: boolean; }; warmStartCount: number; restoreCount: number; notificationCount: number; lastNotificationAt: Date | null; }; get runnerId(): string; get successExitCode(): number; get failureExitCode(): number; get workerApiUrl(): string; get workerInstanceName(): string; private subscribeToRunNotifications; private unsubscribeFromRunNotifications; private get runFriendlyId(); private get snapshotFriendlyId(); private lockedRunExecution; private startRunExecution; private waitForNextRunLock; /** * This will eagerly create a new run execution. It will never throw, but may exit * the process on any errors or when no runs are available after the configured duration. */ private waitForNextRun; private exitProcess; createSupervisorSocket(): SupervisorSocket; start(): void; cancelRunsAndExitProcess(): Promise<void>; sendDebugLog(opts: SendDebugLogOptions): void; } export {};