/** * Configuration for an off-loop liveness ticker (passed via `workerData`). */ export interface LivenessTickerOptions { /** Database URL the owning runner is using. */ url: string; /** Optional explicit engine/type hint. */ type?: string; /** This runner incarnation's worker key (the `_smrt_workers.worker_id`). */ workerKey: string; /** Lease time-to-live in milliseconds. */ leaseTtlMs: number; /** Renewal cadence in milliseconds. */ leaseTickMs: number; } export interface LivenessTicker { /** Stop renewing and close the connection. */ stop: () => Promise; } /** * Renew a worker's liveness lease from *outside* the handler event loop. * * Runs on a `node:worker_threads` thread (or, in tests, directly) with its own * database connection, so a CPU-bound synchronous handler on the main thread * cannot starve the renewal — the failure mode that made the old heartbeat * false-recover running jobs (#1474). A dead process stops renewing and the * lease expires within its TTL, which is how recovery detects death. */ export declare function runLivenessTicker(options: LivenessTickerOptions): Promise; //# sourceMappingURL=worker-liveness-ticker.d.ts.map