Added function to remove stale jobs logs

This commit is contained in:
Donald Zou
2025-12-02 11:24:03 +08:00
parent 2ee1b3b138
commit aba3c5da64
2 changed files with 15 additions and 2 deletions

View File

@@ -77,4 +77,16 @@ class PeerJobLogger:
) > 10 ) > 10
) )
).mappings().fetchall() ).mappings().fetchall()
return table 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),
)
)
)

View File

@@ -200,7 +200,8 @@ class PeerJobs:
"ExpireDate": datetime.now() "ExpireDate": datetime.now()
} }
).where(self.peerJobTable.columns.JobID == job.get('JobID')) ).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.") 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): def __runJob_Compare(self, x: float | datetime, y: float | datetime, operator: str):