From 20a9a8c758c8a76cc37af0f3eccb69050c7473cd Mon Sep 17 00:00:00 2001 From: Leon Mika Date: Mon, 3 Jul 2023 11:24:16 +1000 Subject: [PATCH] fix: Added a small timeout to the runNow() script scheduler This is to avoid a small race conditions in the tests, where a script has signalled that it's finished loading but the schedular has not started waiting for the next task. --- internal/dynamo-browse/services/scriptmanager/scrsched.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/dynamo-browse/services/scriptmanager/scrsched.go b/internal/dynamo-browse/services/scriptmanager/scrsched.go index e04ebdf..3846676 100644 --- a/internal/dynamo-browse/services/scriptmanager/scrsched.go +++ b/internal/dynamo-browse/services/scriptmanager/scrsched.go @@ -3,6 +3,7 @@ package scriptmanager import ( "context" "github.com/pkg/errors" + "time" ) type scriptScheduler struct { @@ -41,7 +42,7 @@ func (ss *scriptScheduler) runNow(ctx context.Context, job func(ctx context.Cont select { case ss.jobChan <- scriptJob{ctx: ctx, job: job}: return nil - default: + case <-time.After(500 * time.Millisecond): return errors.New("a script is already running") } }