From 27406419521428400d514b2bd1c524f9a3c42e34 Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Mon, 13 Nov 2023 10:53:23 +0100 Subject: [PATCH] feat: add deletestats and delete logs to manager #21 --- manager.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/manager.go b/manager.go index 362dde6..825e44f 100644 --- a/manager.go +++ b/manager.go @@ -149,6 +149,46 @@ func (m *Manager) RemoveJob(id JobID) error { return m.removeJobInternal(id) } +// DeleteJobLogs deletes the logs of a job +func (m *Manager) DeleteJobLogs(id JobID) error { + m.mu.Lock() + defer m.mu.Unlock() + + if _, ok := m.activeJobs[id]; !ok { + return ErrJobNotActive + } + + if m.dbSaver != nil { + + err := m.dbSaver.DeleteLogs(m.activeJobs[id]) + if err != nil { + return err + } + } + + return nil +} + +// DeleteJobStats deletes the stats of a job +func (m *Manager) DeleteJobStats(id JobID) error { + m.mu.Lock() + defer m.mu.Unlock() + + if _, ok := m.activeJobs[id]; !ok { + return ErrJobNotActive + } + + if m.dbSaver != nil { + + err := m.dbSaver.DeleteStats(m.activeJobs[id]) + if err != nil { + return err + } + } + + return nil +} + func (m *Manager) removeJobInternal(id JobID) error { scheduler := m.activeJobs[id].GetScheduler() -- GitLab