From 6aec230659143e9a897baeb58d9372fba2848a5e Mon Sep 17 00:00:00 2001 From: Mathu-lmn <80094438+Mathu-lmn@users.noreply.github.com> Date: Thu, 1 Jan 2026 18:27:54 +0100 Subject: [PATCH 1/2] fix(core): prevent redundant checkSchedule --- core/modules/FxScheduler.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/modules/FxScheduler.ts b/core/modules/FxScheduler.ts index 45a9395b6..fc9820f43 100644 --- a/core/modules/FxScheduler.ts +++ b/core/modules/FxScheduler.ts @@ -53,6 +53,7 @@ export default class FxScheduler { private nextTempSchedule: RestartInfo | false = false; private calculatedNextRestartMinuteFloorTs: number | false = false; private nextSkip: number | false = false; + private lastMinute = Math.floor(Date.now() / 60000); constructor() { //Initial check to update status @@ -62,9 +63,13 @@ export default class FxScheduler { //Cron Function setInterval(() => { - this.checkSchedule(); - txCore.webServer.webSocket.pushRefresh('status'); - }, 60 * 1000); + const currentMinute = Math.floor(Date.now() / 60000); + if (currentMinute > this.lastMinute) { + this.lastMinute = currentMinute; + this.checkSchedule(); + txCore.webServer.webSocket.pushRefresh('status'); + } + }, 1000); } From 066f73d21745930bb9225b83317e4436014e3c70 Mon Sep 17 00:00:00 2001 From: Mathu-lmn <80094438+Mathu-lmn@users.noreply.github.com> Date: Thu, 1 Jan 2026 18:40:39 +0100 Subject: [PATCH 2/2] fix(scheduler): update lastMinute in the checkSchedule instead --- core/modules/FxScheduler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/FxScheduler.ts b/core/modules/FxScheduler.ts index fc9820f43..4cf910571 100644 --- a/core/modules/FxScheduler.ts +++ b/core/modules/FxScheduler.ts @@ -65,7 +65,6 @@ export default class FxScheduler { setInterval(() => { const currentMinute = Math.floor(Date.now() / 60000); if (currentMinute > this.lastMinute) { - this.lastMinute = currentMinute; this.checkSchedule(); txCore.webServer.webSocket.pushRefresh('status'); } @@ -237,6 +236,7 @@ export default class FxScheduler { * Checks the schedule to see if it's time to announce or restart the server */ async checkSchedule(calculateOnly = false) { + this.lastMinute = Math.floor(Date.now() / 60000); //Check settings and temp scheduled restart let nextRestart: RestartInfo; if (this.nextTempSchedule) {