From 81b95c9569fa5d75f3edf5eacecc181efd915157 Mon Sep 17 00:00:00 2001 From: alikia2x Date: Sun, 9 Mar 2025 22:52:12 +0800 Subject: [PATCH] update: minimum interval for snapshotMilestoneVideo --- lib/mq/exec/snapshotTick.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/mq/exec/snapshotTick.ts b/lib/mq/exec/snapshotTick.ts index c7581b4..e88f503 100644 --- a/lib/mq/exec/snapshotTick.ts +++ b/lib/mq/exec/snapshotTick.ts @@ -10,6 +10,7 @@ import { redis } from "lib/db/redis.ts"; import { NetSchedulerError } from "lib/mq/scheduler.ts"; import logger from "lib/log/logger.ts"; import { formatSeconds } from "lib/utils/formatSeconds.ts"; +import { truncate } from "lib/utils/truncate.ts"; async function snapshotScheduled(aid: number) { try { @@ -122,7 +123,8 @@ export const takeSnapshotForMilestoneVideoWorker = async (job: Job) => { const eta = viewsToIncrease / (incrementSpeed + DELTA); const scheduledNextSnapshotDelay = eta * SECOND / 3; const maxInterval = 20 * MINUTE; - const delay = Math.min(scheduledNextSnapshotDelay, maxInterval); + const minInterval = 1 * SECOND; + const delay = truncate(scheduledNextSnapshotDelay, minInterval, maxInterval); await SnapshotQueue.add("snapshotMilestoneVideo", { aid, currentViews: stat.views,