From 707d7bffa036e05e8ef323e11d1b19d127a2dbc5 Mon Sep 17 00:00:00 2001 From: BroodjeAap Date: Mon, 19 Dec 2022 18:31:00 +0000 Subject: [PATCH] proper handling of enabled/disabled of cron filter --- main.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 99ab74a..e71d075 100644 --- a/main.go +++ b/main.go @@ -131,7 +131,7 @@ func (web *Web) initTemplates() { func (web *Web) initCronJobs() { var cronFilters []Filter - web.db.Model(&Filter{}).Find(&cronFilters, "type = 'cron'") + web.db.Model(&Filter{}).Find(&cronFilters, "type = 'cron' AND var2 = 'yes'") web.cronWatch = make(map[uint]cron.EntryID, len(cronFilters)) web.cron = cron.New() for _, cronFilter := range cronFilters { @@ -227,7 +227,7 @@ func (web *Web) deleteWatch(c *gin.Context) { web.db.Delete(&FilterOutput{}, "watch_id = ?", id) var cronFilters []Filter - web.db.Model(&Filter{}).Find(&cronFilters, "watch_id = ? AND type = 'cron'", id) + web.db.Model(&Filter{}).Find(&cronFilters, "watch_id = ? AND type = 'cron' AND var2 = 'yes'", id) for _, filter := range cronFilters { entryID, exist := web.cronWatch[filter.ID] if exist { @@ -340,7 +340,7 @@ func (web *Web) watchUpdate(c *gin.Context) { // stop/delete cronjobs running for this watch var cronFilters []Filter - web.db.Model(&Filter{}).Where("watch_id = ? AND type = 'cron'", watch.ID).Find(&cronFilters) + web.db.Model(&Filter{}).Where("watch_id = ? AND type = 'cron' AND var2 = 'yes'", watch.ID).Find(&cronFilters) for _, filter := range cronFilters { entryID, exist := web.cronWatch[filter.ID] if exist { @@ -369,6 +369,9 @@ func (web *Web) watchUpdate(c *gin.Context) { if filter.Type != "cron" { continue } + if *filter.Var2 == "no" { + continue + } entryID, err := web.cron.AddFunc(filter.Var1, func() { triggerSchedule(filter.WatchID, web, &filter.ID) }) if err != nil { log.Println("Could not start job for Watch: ", filter.WatchID, err)