Files
query-orchestration/internal/serviceconfig/queue/receive.go
T
Michael McGuinness 33d68b7e04 Merged in feature/momocks (pull request #150)
Decrease Mocks

* feature/nomocks

* nonet

* assertsaws

* assert
2025-05-23 00:20:01 +00:00

34 lines
763 B
Go

package queue
import (
"context"
"github.com/aws/aws-sdk-go-v2/service/sqs"
)
type ReceiveParams struct {
QueueURL string
Attributes []string
VisibilityTimeout int32
WaitTimeSeconds int32
}
func (c *QueueConfig) ReceiveFromQueue(ctx context.Context, params *ReceiveParams) (*sqs.ReceiveMessageOutput, error) {
p := &sqs.ReceiveMessageInput{
QueueUrl: &params.QueueURL,
MaxNumberOfMessages: 1,
WaitTimeSeconds: 10,
VisibilityTimeout: 10,
MessageAttributeNames: params.Attributes,
}
if params.VisibilityTimeout > 0 {
p.VisibilityTimeout = params.VisibilityTimeout
}
if params.WaitTimeSeconds > 0 {
p.WaitTimeSeconds = params.WaitTimeSeconds
}
return c.QueueClient.ReceiveMessage(ctx, p)
}