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);
|
let adjustedTime = new Date(targetTime);
|
||||||
if (type == "milestone") {
|
if (type == "milestone") {
|
||||||
await client.queryObject(
|
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],
|
[adjustedTime, aid],
|
||||||
);
|
);
|
||||||
logger.log(
|
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 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
|
* Returns the minimum ETA in hours for the next snapshot
|
||||||
* @param client - Postgres client
|
* @param client - Postgres client
|
||||||
@ -35,8 +49,8 @@ export const getAdjustedShortTermETA = async (client: Client, aid: number) => {
|
|||||||
const target = closetMilestone(latestSnapshot.views);
|
const target = closetMilestone(latestSnapshot.views);
|
||||||
const viewsToIncrease = target - latestSnapshot.views;
|
const viewsToIncrease = target - latestSnapshot.views;
|
||||||
const eta = viewsToIncrease / (speed + DELTA);
|
const eta = viewsToIncrease / (speed + DELTA);
|
||||||
let factor = log(2.97 / log(viewsToIncrease + 1), 1.14);
|
let factor = getFactor(viewsToIncrease);
|
||||||
factor = truncate(factor, 3, 100);
|
factor = truncate(factor, 4.5, 100);
|
||||||
const adjustedETA = eta / factor;
|
const adjustedETA = eta / factor;
|
||||||
if (adjustedETA < minETAHours) {
|
if (adjustedETA < minETAHours) {
|
||||||
minETAHours = adjustedETA;
|
minETAHours = adjustedETA;
|
||||||
|
Loading…
Reference in New Issue
Block a user