changeset 1556:6869eb94ead2

Don't error if an action is not defined if bound.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 11 Dec 2018 20:47:11 +0100
parents a3c2b192daa2
children 62171cd9a42b
files pkg/scheduler/scheduler.go
diffstat 1 files changed, 6 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/scheduler/scheduler.go	Tue Dec 11 16:13:37 2018 +0100
+++ b/pkg/scheduler/scheduler.go	Tue Dec 11 20:47:11 2018 +0100
@@ -44,6 +44,8 @@
 func (ua *userAction) Run() {
 	if a := ua.scheduler.action(ua.name); a != nil {
 		a(ua.user, ua.cfgID)
+	} else {
+		log.Printf("warn: scheduled action '%s' not found.", ua.name)
 	}
 }
 
@@ -70,8 +72,8 @@
 
 // UnbindAction unbinds a named action from a user and
 // an optional configuration id.
-func UnbindAction(name, user string, cfgID *int64) error {
-	return global.unbindAction(name, user, cfgID)
+func UnbindAction(name, user string, cfgID *int64) {
+	global.unbindAction(name, user, cfgID)
 }
 
 // UnbindUser unbinds all schedules for a given user.
@@ -127,7 +129,7 @@
 	s.cr.Start()
 }
 
-func (s *scheduler) unbindAction(name, user string, cfgID *int64) error {
+func (s *scheduler) unbindAction(name, user string, cfgID *int64) {
 	s.mu.Lock()
 	defer s.mu.Unlock()
 
@@ -144,7 +146,7 @@
 	}
 
 	if found == nil {
-		return ErrNoSuchAction
+		return
 	}
 
 	s.cr.Stop()
@@ -156,8 +158,6 @@
 		}
 	}
 	s.cr.Start()
-
-	return nil
 }
 
 func (s *scheduler) bindAction(name, spec, user string, cfgID *int64) error {
@@ -170,11 +170,6 @@
 	s.mu.Lock()
 	defer s.mu.Unlock()
 
-	action := s.actions[name]
-	if action == nil {
-		return ErrNoSuchAction
-	}
-
 	entries := s.cr.Entries()
 
 	var found *userAction