


























@@ -439,6 +439,7 @@ type PreparedManualRun =
439439ok: true;
440440ran: true;
441441jobId: string;
442+runId?: string;
442443taskRunId?: string;
443444startedAt: number;
444445executionJob: CronJob;
@@ -630,6 +631,7 @@ async function prepareManualRun(
630631state: CronServiceState,
631632id: string,
632633mode?: "due" | "force",
634+opts?: { runId?: string },
633635): Promise<PreparedManualRun> {
634636const preflight = await inspectManualRunPreflight(state, id, mode);
635637if (!preflight.ok) {
@@ -665,6 +667,7 @@ async function prepareManualRun(
665667ok: true,
666668ran: true,
667669jobId: job.id,
670+runId: opts?.runId ?? taskRunId,
668671 taskRunId,
669672startedAt: preflight.now,
670673 executionJob,
@@ -681,6 +684,7 @@ async function finishPreparedManualRun(
681684const startedAt = prepared.startedAt;
682685const jobId = prepared.jobId;
683686const taskRunId = prepared.taskRunId;
687+const runId = prepared.runId;
684688685689let coreResult: Awaited<ReturnType<typeof executeJobCoreWithTimeout>>;
686690try {
@@ -728,6 +732,7 @@ async function finishPreparedManualRun(
728732delivery: coreResult.delivery,
729733sessionId: coreResult.sessionId,
730734sessionKey: coreResult.sessionKey,
735+ runId,
731736runAtMs: startedAt,
732737durationMs: job.state.lastDurationMs,
733738nextRunAtMs: job.state.nextRunAtMs,
@@ -767,8 +772,13 @@ async function finishPreparedManualRun(
767772});
768773}
769774770-export async function run(state: CronServiceState, id: string, mode?: "due" | "force") {
771-const prepared = await prepareManualRun(state, id, mode);
775+export async function run(
776+state: CronServiceState,
777+id: string,
778+mode?: "due" | "force",
779+opts?: { runId?: string },
780+) {
781+const prepared = await prepareManualRun(state, id, mode, opts);
772782if (!prepared.ok || !prepared.ran) {
773783return prepared;
774784}
@@ -786,7 +796,7 @@ export async function enqueueRun(state: CronServiceState, id: string, mode?: "du
786796void enqueueCommandInLane(
787797CommandLane.Cron,
788798async () => {
789-const result = await run(state, id, mode);
799+const result = await run(state, id, mode, { runId });
790800if (result.ok && "ran" in result && !result.ran) {
791801state.deps.log.info(
792802{ jobId: id, runId, reason: result.reason },
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。