MCPcopy Create free account
hub / github.com/convox/rack / dequeueMessage

Function dequeueMessage

provider/aws/lambda/formation/handler/formation.go:107–138  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

105}
106
107func dequeueMessage() ([]Message, error) {
108 req := &sqs.ReceiveMessageInput{
109 MaxNumberOfMessages: aws.Int64(10),
110 QueueUrl: aws.String(MessageQueueUrl),
111 WaitTimeSeconds: aws.Int64(10),
112 }
113
114 res, err := SQS().ReceiveMessage(req)
115
116 if err != nil {
117 return nil, err
118 }
119
120 messages := make([]Message, len(res.Messages))
121
122 var message Message
123
124 for i, m := range res.Messages {
125 err = json.Unmarshal([]byte(*m.Body), &message)
126
127 if err != nil {
128 return nil, err
129 }
130
131 message.MessageID = m.MessageId
132 message.ReceiptHandle = m.ReceiptHandle
133
134 messages[i] = message
135 }
136
137 return messages, nil
138}
139
140func ackMessage(messages []Message) (int, error) {
141 dreq := &sqs.DeleteMessageBatchInput{

Callers 1

ListenFunction · 0.85

Calls 2

SQSFunction · 0.85
StringMethod · 0.45

Tested by

no test coverage detected