diff --git a/manager.go b/manager.go index 362dde614696e8b8f94459f0535e33d8d5d17ee3..825e44f5fbad5c90b38ca95b13561e5ebd14f75e 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()