33d68b7e04
Decrease Mocks * feature/nomocks * nonet * assertsaws * assert
34 lines
763 B
Go
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: ¶ms.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)
|
|
}
|