From 0342870bbd68ec2cbd449adb998aaf422a3871b5 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Fri, 29 May 2026 11:08:32 -0700 Subject: [PATCH] lastRunAt -> lastFinishedAT --- server/package-lock.json | 8 ++++---- server/package.json | 2 +- .../src/service/infrastructure/JobQueues/IJobQueue.ts | 1 - .../infrastructure/JobQueues/LessSimpleQueue.ts | 10 +++++----- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index 78d7f6ffa..131589613 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -31,7 +31,7 @@ "jmespath": "^0.16.0", "jsdom": "^26.1.0", "jsonwebtoken": "9.0.2", - "less-simple-scheduler": "2.1.0", + "less-simple-scheduler": "2.2.0", "mailersend": "^2.2.0", "mjml": "^5.0.0-alpha.4", "mongoose": "^8.3.3", @@ -10417,9 +10417,9 @@ "license": "MIT" }, "node_modules/less-simple-scheduler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/less-simple-scheduler/-/less-simple-scheduler-2.1.0.tgz", - "integrity": "sha512-DA43B3lAkcE2LEknKRZK3hFwoRYM1htOfeJ+JImXsFrwIqqxKb4PyWiv0lH3xUBqeAn1Pfody9fgC77lV3y4yQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/less-simple-scheduler/-/less-simple-scheduler-2.2.0.tgz", + "integrity": "sha512-0bbFohlkcWZY2wfkGfDiYEbDxkshj0RuskkL0RLUDMn1Y3WjoPqy29PAnKNtnHG+DQqn0hMjZ0e3hVFJ4k76oA==", "license": "ISC", "dependencies": { "mongodb": "7.2.0" diff --git a/server/package.json b/server/package.json index 9ee5e3aad..ea518a298 100755 --- a/server/package.json +++ b/server/package.json @@ -51,7 +51,7 @@ "jmespath": "^0.16.0", "jsdom": "^26.1.0", "jsonwebtoken": "9.0.2", - "less-simple-scheduler": "2.1.0", + "less-simple-scheduler": "2.2.0", "mailersend": "^2.2.0", "mjml": "^5.0.0-alpha.4", "mongoose": "^8.3.3", diff --git a/server/src/service/infrastructure/JobQueues/IJobQueue.ts b/server/src/service/infrastructure/JobQueues/IJobQueue.ts index a97c8eb6a..dba8e3f1a 100644 --- a/server/src/service/infrastructure/JobQueues/IJobQueue.ts +++ b/server/src/service/infrastructure/JobQueues/IJobQueue.ts @@ -30,7 +30,6 @@ export type QueueJobSummary = { runCount: number; failCount: number; failReason: string | null; - lastRunAt: number | null; lastFinishedAt: number | null; lastRunTook: number | null; lastFailedAt: number | null; diff --git a/server/src/service/infrastructure/JobQueues/LessSimpleQueue.ts b/server/src/service/infrastructure/JobQueues/LessSimpleQueue.ts index 4ef57047f..b50151406 100644 --- a/server/src/service/infrastructure/JobQueues/LessSimpleQueue.ts +++ b/server/src/service/infrastructure/JobQueues/LessSimpleQueue.ts @@ -282,11 +282,11 @@ export class LessSimpleQueue implements IJobQueue { const runCount = job.runCount ?? 0; const failCount = job.failCount ?? 0; const lastFailedAt = job.lastFailedAt ?? 0; - const lastRunAt = job.lastRunAt ?? 0; + const lastFinishedAt = job.lastFinishedAt ?? 0; acc.totalRuns += runCount; acc.totalFailures += failCount; acc.jobs++; - if (failCount > 0 && lastFailedAt >= lastRunAt) { + if (failCount > 0 && lastFailedAt >= lastFinishedAt) { acc.failingJobs++; } @@ -323,6 +323,7 @@ export class LessSimpleQueue implements IJobQueue { const jobs = await this.scheduler.getJobs(); return jobs.map((job) => { const monitor = isMonitorJob(job) ? job.data : undefined; + return { monitorId: job.id, monitorUrl: monitor?.url || null, @@ -336,9 +337,8 @@ export class LessSimpleQueue implements IJobQueue { runCount: job.runCount ?? 0, failCount: job.failCount ?? 0, failReason: job.lastError ?? null, - lastRunAt: job.lastRunAt ?? null, - lastFinishedAt: job.lastRunAt ?? null, - lastRunTook: job.lockedAt ? null : (job.lastRunAt ?? 0) - (job.lastRunAt ?? 0), + lastFinishedAt: job.lastFinishedAt ?? null, + lastRunTook: job.lockedAt || !job.lastFinishedAt || !job.lastStartedAt ? null : job.lastFinishedAt - job.lastStartedAt, lastFailedAt: job.lastFailedAt ?? null, }; });