Skip to content

Commit a0e6794

Browse files
committed
improve performace for SQS
1 parent b23267c commit a0e6794

File tree

2 files changed

+22
-19
lines changed

2 files changed

+22
-19
lines changed

Source/FikaAmazonAPI.SampleCode/CustomMessageReceiver.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
1-
using Amazon;
2-
using FikaAmazonAPI.NotificationMessages;
1+
using FikaAmazonAPI.NotificationMessages;
32
using FikaAmazonAPI.Parameter.Notification;
4-
using System;
5-
using System.Collections.Generic;
6-
using System.Linq;
7-
using System.Text;
8-
using System.Threading.Tasks;
93

104
namespace FikaAmazonAPI.SampleCode
115
{
@@ -19,6 +13,7 @@ public void ErrorCatch(Exception ex)
1913

2014
public void NewMessageRevicedTriger(NotificationMessageResponce message)
2115
{
16+
Console.Write(".");
2217
//Your Code here
2318
}
2419
}

Source/FikaAmazonAPI/Services/NotificationService.cs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -140,20 +140,12 @@ public async Task StartReceivingNotificationMessagesAsync(ParameterMessageReceiv
140140
{
141141
foreach (var msg in Messages)
142142
{
143-
try
144-
{
145-
var data = DeserializeNotification(msg);
146-
147-
messageReceiver.NewMessageRevicedTriger(data);
148-
await DeleteMessageFromQueueAsync(amazonSQSClient, SQS_URL, msg.ReceiptHandle, cancellationToken);
149-
}
150-
catch (Exception ex)
151-
{
152-
messageReceiver.ErrorCatch(ex);
153-
await DeleteMessageFromQueueAsync(amazonSQSClient, SQS_URL, msg.ReceiptHandle, cancellationToken);
154-
}
143+
ProcessAnyOfferChangedMessage(msg, messageReceiver, amazonSQSClient, SQS_URL, cancellationToken).ConfigureAwait(false);
155144

156145
}
146+
147+
if (Messages.Count < 10)
148+
Thread.Sleep(1000 * 5);
157149
}
158150
}
159151
catch (Exception ex)
@@ -163,6 +155,22 @@ public async Task StartReceivingNotificationMessagesAsync(ParameterMessageReceiv
163155
}
164156
}
165157
}
158+
159+
private async Task ProcessAnyOfferChangedMessage(Message msg, IMessageReceiver messageReceiver, AmazonSQSClient amazonSQSClient, string SQS_URL, CancellationToken cancellationToken = default)
160+
{
161+
try
162+
{
163+
var data = DeserializeNotification(msg);
164+
165+
messageReceiver.NewMessageRevicedTriger(data);
166+
await DeleteMessageFromQueueAsync(amazonSQSClient, SQS_URL, msg.ReceiptHandle, cancellationToken);
167+
}
168+
catch (Exception ex)
169+
{
170+
messageReceiver.ErrorCatch(ex);
171+
await DeleteMessageFromQueueAsync(amazonSQSClient, SQS_URL, msg.ReceiptHandle, cancellationToken);
172+
}
173+
}
166174
private async Task DeleteMessageFromQueueAsync(AmazonSQSClient sqsClient, string QueueUrl, string ReceiptHandle, CancellationToken cancellationToken = default)
167175
{
168176
var deleteMessageRequest = new DeleteMessageRequest() { QueueUrl = QueueUrl, ReceiptHandle = ReceiptHandle };

0 commit comments

Comments
 (0)