From 23b41d37c80bdd11baf7c0f850cd78c60ca5159f Mon Sep 17 00:00:00 2001 From: "daniel.naude" <danieln@bob.co.za> Date: Mon, 13 Jan 2025 08:57:40 +0200 Subject: [PATCH] Add concurrency handling to debug SQS message sending This is to fix sqs messages with a delay not working on local development environments. --- sqs/sqs.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sqs/sqs.go b/sqs/sqs.go index 0d0259f..c1d8619 100644 --- a/sqs/sqs.go +++ b/sqs/sqs.go @@ -6,10 +6,12 @@ import ( "context" "encoding/json" "fmt" - "gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/utils" "io" + "sync" "time" + "gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/utils" + "github.com/google/uuid" "gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/s3" @@ -108,7 +110,10 @@ func (m *Messenger) SendSQSMessage(headers map[string]string, body string, curre func SendSQSMessage(msgr Messenger, objectToSend interface{}, currentRequestID *string, sqsType string, isDebug bool) error { if isDebug { + var wg sync.WaitGroup + wg.Add(1) go func() { + defer wg.Done() if msgr.DelaySeconds != nil { delay := *msgr.DelaySeconds time.Sleep(time.Second * time.Duration(delay)) @@ -118,6 +123,7 @@ func SendSQSMessage(msgr Messenger, objectToSend interface{}, currentRequestID * Post("http://127.0.0.1:3000/sqs/" + sqsType) }() time.Sleep(time.Second * 1) + wg.Wait() return nil } -- GitLab