From 7b8869c49eb860fb2823f07dfbd5ae3e180c96dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Eduardo=20Jer=C3=A9z=20Gir=C3=B3n?= Date: Sun, 21 Jul 2024 22:40:22 -0600 Subject: [PATCH] Remove unused RemoveAllJobs function and update backup scheduling logic --- internal/cron/cron.go | 12 ------------ internal/service/backups/schedule_all.go | 19 ++++++++++++------- internal/service/backups/schedule_all.sql | 1 - 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/internal/cron/cron.go b/internal/cron/cron.go index f2c42a8..6706d5f 100644 --- a/internal/cron/cron.go +++ b/internal/cron/cron.go @@ -61,18 +61,6 @@ func (c *Cron) RemoveJob(id uuid.UUID) error { return nil } -// RemoveAllJobs removes all jobs from the scheduler. -func (c *Cron) RemoveAllJobs() error { - jobs := c.scheduler.Jobs() - for _, job := range jobs { - if err := c.RemoveJob(job.ID()); err != nil { - return err - } - } - - return nil -} - // Start starts the scheduler. func (c *Cron) Start() { c.scheduler.Start() diff --git a/internal/service/backups/schedule_all.go b/internal/service/backups/schedule_all.go index e986a49..c928290 100644 --- a/internal/service/backups/schedule_all.go +++ b/internal/service/backups/schedule_all.go @@ -14,14 +14,19 @@ func (s *Service) ScheduleAll() error { return err } - if err := s.cr.RemoveAllJobs(); err != nil { - return err - } - for _, backup := range activeBackups { - err := s.jobUpsert(backup.ID, backup.TimeZone, backup.CronExpression) - if err != nil { - return err + if !backup.IsActive { + err := s.jobRemove(backup.ID) + if err != nil { + return err + } + } + + if backup.IsActive { + err := s.jobUpsert(backup.ID, backup.TimeZone, backup.CronExpression) + if err != nil { + return err + } } } diff --git a/internal/service/backups/schedule_all.sql b/internal/service/backups/schedule_all.sql index 0585e67..570ba39 100644 --- a/internal/service/backups/schedule_all.sql +++ b/internal/service/backups/schedule_all.sql @@ -5,5 +5,4 @@ SELECT cron_expression, time_zone FROM backups -WHERE is_active = TRUE ORDER BY created_at DESC;