perf(cron): make wakeMode now busy-wait configurable

This commit is contained in:
Peter Steinberger
2026-02-14 23:36:05 +00:00
parent 3ec275f0b5
commit 20dea3cdb1
3 changed files with 24 additions and 5 deletions

View File

@@ -38,6 +38,14 @@ export type CronServiceDeps = {
enqueueSystemEvent: (text: string, opts?: { agentId?: string }) => void;
requestHeartbeatNow: (opts?: { reason?: string }) => void;
runHeartbeatOnce?: (opts?: { reason?: string; agentId?: string }) => Promise<HeartbeatRunResult>;
/**
* WakeMode=now: max time to wait for runHeartbeatOnce to stop returning
* { status:"skipped", reason:"requests-in-flight" } before falling back to
* requestHeartbeatNow.
*/
wakeNowHeartbeatBusyMaxWaitMs?: number;
/** WakeMode=now: delay between runHeartbeatOnce retries while busy. */
wakeNowHeartbeatBusyRetryDelayMs?: number;
runIsolatedAgentJob: (params: { job: CronJob; message: string }) => Promise<{
status: "ok" | "error" | "skipped";
summary?: string;