fix: incorrect SQL in scheduleSnapshot
This commit is contained in:
parent
907c0a6976
commit
288e4f9571
@ -184,7 +184,7 @@ export async function scheduleSnapshot(
|
||||
let adjustedTime = new Date(targetTime);
|
||||
if (type == "milestone") {
|
||||
await client.queryObject(
|
||||
`UPDATE snapshot_schedule SET started_at = $1 WHERE aid = $2 AND type = 'milestone'`,
|
||||
`UPDATE snapshot_schedule SET started_at = $1 WHERE aid = $2 AND type = 'milestone' AND status = 'pending'`,
|
||||
[adjustedTime, aid],
|
||||
);
|
||||
logger.log(
|
||||
|
@ -6,6 +6,20 @@ import { HOUR, MINUTE } from "@std/datetime";
|
||||
|
||||
const log = (value: number, base: number = 10) => Math.log(value) / Math.log(base);
|
||||
|
||||
const getFactor = (x: number) => {
|
||||
const a = 1.054;
|
||||
const b = 4.5;
|
||||
const c = 100;
|
||||
const u = 0.601;
|
||||
const g = 455;
|
||||
if (x>g) {
|
||||
return log(b/log(x+1),a);
|
||||
}
|
||||
else {
|
||||
return log(b/log(x+c),a)+u;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns the minimum ETA in hours for the next snapshot
|
||||
* @param client - Postgres client
|
||||
@ -35,8 +49,8 @@ export const getAdjustedShortTermETA = async (client: Client, aid: number) => {
|
||||
const target = closetMilestone(latestSnapshot.views);
|
||||
const viewsToIncrease = target - latestSnapshot.views;
|
||||
const eta = viewsToIncrease / (speed + DELTA);
|
||||
let factor = log(2.97 / log(viewsToIncrease + 1), 1.14);
|
||||
factor = truncate(factor, 3, 100);
|
||||
let factor = getFactor(viewsToIncrease);
|
||||
factor = truncate(factor, 4.5, 100);
|
||||
const adjustedETA = eta / factor;
|
||||
if (adjustedETA < minETAHours) {
|
||||
minETAHours = adjustedETA;
|
||||
|
Loading…
Reference in New Issue
Block a user