From 907c0a697675279c854df9c9675f303441e56fc4 Mon Sep 17 00:00:00 2001 From: alikia2x Date: Tue, 15 Apr 2025 21:42:02 +0800 Subject: [PATCH] fix: update started_at instead of returning for milestone snapshots in scheduleSnapshot --- packages/crawler/db/snapshotSchedule.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/crawler/db/snapshotSchedule.ts b/packages/crawler/db/snapshotSchedule.ts index 24de1f4..2ece00a 100644 --- a/packages/crawler/db/snapshotSchedule.ts +++ b/packages/crawler/db/snapshotSchedule.ts @@ -181,10 +181,22 @@ export async function scheduleSnapshot( targetTime: number, force: boolean = false, ) { - if (await videoHasActiveScheduleWithType(client, aid, type) && !force) return; let adjustedTime = new Date(targetTime); + if (type == "milestone") { + await client.queryObject( + `UPDATE snapshot_schedule SET started_at = $1 WHERE aid = $2 AND type = 'milestone'`, + [adjustedTime, aid], + ); + logger.log( + `Updated snapshot schedule for ${aid} at ${adjustedTime.toISOString()}`, + "mq", + "fn:scheduleSnapshot", + ); + return; + } + if (await videoHasActiveScheduleWithType(client, aid, type) && !force) return; if (type !== "milestone" && type !== "new") { - adjustedTime = await adjustSnapshotTime(new Date(targetTime), 1000, redis); + adjustedTime = await adjustSnapshotTime(new Date(targetTime), 2000, redis); } logger.log(`Scheduled snapshot for ${aid} at ${adjustedTime.toISOString()}`, "mq", "fn:scheduleSnapshot"); return client.queryObject(