fix(heartbeat): remove dead helpers, persist timestamps on all exits

- Remove unused getTaskLastRunMs/updateTaskLastRunMs functions
- Add timestamp updates to all successful exit paths

Fixes: #3030557564, #3034645588
This commit is contained in:
Chinar Amrutkar
2026-04-04 00:22:43 +00:00
committed by Peter Steinberger
parent 5fffdc478e
commit cebea1bf95
2 changed files with 6 additions and 28 deletions

View File

@@ -277,31 +277,3 @@ export function isTaskDue(lastRunMs: number | undefined, interval: string, nowMs
return false;
}
}
/**
* Get or initialize last run time for a task from session store.
*/
export function getTaskLastRunMs(
taskName: string,
sessionEntry: Record<string, unknown> | undefined,
): number | undefined {
if (!sessionEntry?.heartbeatTaskState) {
return undefined;
}
const taskState = sessionEntry.heartbeatTaskState as Record<string, number>;
return taskState[taskName];
}
/**
* Update last run time for a task in session store.
*/
export function updateTaskLastRunMs(
taskName: string,
nowMs: number,
sessionEntry: Record<string, unknown>,
): void {
if (!sessionEntry.heartbeatTaskState) {
sessionEntry.heartbeatTaskState = {};
}
(sessionEntry.heartbeatTaskState as Record<string, number>)[taskName] = nowMs;
}

View File

@@ -879,6 +879,8 @@ export async function runHeartbeatOnce(opts: {
silent: !okSent,
indicatorType: visibility.useIndicator ? resolveIndicatorType("ok-token") : undefined,
});
heartbeatSuccess = true;
await updateTaskTimestamps();
return { status: "ran", durationMs: Date.now() - startedAt };
}
@@ -915,6 +917,8 @@ export async function runHeartbeatOnce(opts: {
channel: delivery.channel !== "none" ? delivery.channel : undefined,
accountId: delivery.accountId,
});
heartbeatSuccess = true;
await updateTaskTimestamps();
return { status: "ran", durationMs: Date.now() - startedAt };
}
@@ -935,6 +939,8 @@ export async function runHeartbeatOnce(opts: {
hasMedia: mediaUrls.length > 0,
accountId: delivery.accountId,
});
heartbeatSuccess = true;
await updateTaskTimestamps();
return { status: "ran", durationMs: Date.now() - startedAt };
}