UNPKG

trigger.dev

Version:

A Command-Line Interface for Trigger.dev projects

34 lines (33 loc) • 1.56 kB
import { type RunTokenHeartbeatReport, type RunTokenInstallResult, type RunTokenRefreshTrigger } from "@trigger.dev/core/v3/workers"; export type RunTokenUpdate = { runId: string; attemptNumber: number; token: string; }; export type RunTokenInstaller = (update: RunTokenUpdate) => Promise<RunTokenInstallResult>; /** * Tracks the run token installed in one attempt's task process. It reports the installed expiry on * heartbeats so the server can decide when a replacement is due, and installs replacements with an * acknowledgement from the task process. Failed installs keep the old expiry, so the next * heartbeat asks again. */ export declare class RunTokenRefresher { private readonly opts; private expiresAt?; private installing; private pendingReport?; constructor(opts: { runId: string; attemptNumber: number; /** TRIGGER_RUN_TOKEN from the attempt's start response, if one was issued. */ initialToken: string | undefined; install: RunTokenInstaller; now?: () => number; }); /** Undefined when this attempt has no run token, or while a replacement is being installed. */ report(trigger: RunTokenRefreshTrigger): RunTokenHeartbeatReport | undefined; get isDue(): boolean; /** Call after the heartbeat that carried `sent` succeeded, with any replacement it returned. */ handleHeartbeatResponse(sent: RunTokenHeartbeatReport | undefined, replacement: string | undefined): Promise<RunTokenInstallResult | undefined>; private nowSeconds; }