From aba3c5da64ca9f26c0770e92d5eb124143150cc9 Mon Sep 17 00:00:00 2001 From: Donald Zou Date: Tue, 2 Dec 2025 11:24:03 +0800 Subject: [PATCH] Added function to remove stale jobs logs --- src/modules/PeerJobLogger.py | 14 +++++++++++++- src/modules/PeerJobs.py | 3 ++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/modules/PeerJobLogger.py b/src/modules/PeerJobLogger.py index 11768248..839a7abc 100644 --- a/src/modules/PeerJobLogger.py +++ b/src/modules/PeerJobLogger.py @@ -77,4 +77,16 @@ class PeerJobLogger: ) > 10 ) ).mappings().fetchall() - return table \ No newline at end of file + return table + + def deleteLogs(self, LogID = None, JobID = None): + with self.engine.begin() as conn: + print(f"Deleted logs of JobID {JobID}") + conn.execute( + self.jobLogTable.delete().where( + db.and_( + (self.jobLogTable.c.LogID == LogID if LogID is not None else True), + (self.jobLogTable.c.JobID == JobID if JobID is not None else True), + ) + ) + ) \ No newline at end of file diff --git a/src/modules/PeerJobs.py b/src/modules/PeerJobs.py index cf4ed976..cbbb9a35 100644 --- a/src/modules/PeerJobs.py +++ b/src/modules/PeerJobs.py @@ -200,7 +200,8 @@ class PeerJobs: "ExpireDate": datetime.now() } ).where(self.peerJobTable.columns.JobID == job.get('JobID')) - ) + ) + self.JobLogger.deleteLogs(JobID=job.get('JobID')) self.JobLogger.log(job.get('JobID'), Message=f"Job is removed due to being stale.") def __runJob_Compare(self, x: float | datetime, y: float | datetime, operator: str):