diff --git a/services/task_store/service.go b/services/task_store/service.go index 17277b56d..c535992e7 100644 --- a/services/task_store/service.go +++ b/services/task_store/service.go @@ -142,24 +142,14 @@ func (ts *Service) Open() error { } // Start enabled tasks + enabledTasks := make([]string, 0) err = ts.db.View(func(tx *bolt.Tx) error { b := tx.Bucket([]byte(enabledBucket)) if b == nil { return nil } return b.ForEach(func(k, v []byte) error { - ts.logger.Println("D! enabling task on startup", string(k)) - t, err := ts.Load(string(k)) - if err != nil { - ts.logger.Printf("E! error loading enabled task %s, err: %s\n", string(k), err) - return nil - } - err = ts.StartTask(t) - if err != nil { - ts.logger.Printf("E! error starting enabled task %s, err: %s\n", string(k), err) - } else { - numEnabledTasks++ - } + enabledTasks = append(enabledTasks, string(k)) return nil }) }) @@ -167,6 +157,25 @@ func (ts *Service) Open() error { return err } + // Start each enabled task + for _, name := range enabledTasks { + ts.logger.Println("D! enabling task on startup", name) + t, err := ts.Load(name) + ts.logger.Println("D! loaded", name) + if err != nil { + ts.logger.Printf("E! error loading enabled task %s, err: %s\n", name, err) + return nil + } + err = ts.StartTask(t) + ts.logger.Println("D! started", name) + if err != nil { + ts.logger.Printf("E! error starting enabled task %s, err: %s\n", name, err) + } else { + numEnabledTasks++ + } + ts.logger.Println("D! enabled task on startup", name) + } + // Set expvars kapacitor.NumTasks.Set(numTasks) kapacitor.NumEnabledTasks.Set(numEnabledTasks)