From 6827241d2df0bde7b8c75898ec2aff993e9cb301 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Wed, 30 Sep 2015 14:53:01 +0300 Subject: [PATCH] discard invalid action plans --- engine/action_plan.go | 3 +-- scheduler/scheduler.go | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/engine/action_plan.go b/engine/action_plan.go index 29386c76a..f09fec909 100644 --- a/engine/action_plan.go +++ b/engine/action_plan.go @@ -297,8 +297,7 @@ func (at *ActionPlan) Execute() (err error) { func (at *ActionPlan) IsASAP() bool { if at.Timing == nil { - Logger.Warning(fmt.Sprintf("Nil timing on action plan: %+v, executing ASAP!", at)) - return true + return false } return at.Timing.Timing.StartTime == utils.ASAP } diff --git a/scheduler/scheduler.go b/scheduler/scheduler.go index 04bddd5c9..4e17e3d29 100644 --- a/scheduler/scheduler.go +++ b/scheduler/scheduler.go @@ -92,6 +92,10 @@ func (s *Scheduler) LoadActionPlans(storage engine.RatingStorage) { isAsap := false newApls := make([]*engine.ActionPlan, 0) // will remove the one time runs from the database for _, ap := range aps { + if ap.Timing == nil { + Logger.Warning(fmt.Sprintf("Nil timing on action plan: %+v, discarding!", at)) + continue + } isAsap = ap.IsASAP() toBeSaved = toBeSaved || isAsap if isAsap {