private static void WaitForInputMessage( string listenerQueueName, char delimiter, AmazonSQSClient sqsClient, ReceiveMessageRequest recRequest, out string requestMessageId, out List <Tuple <int, string> > tuples) { logger.Info("Checking messages"); tuples = null; requestMessageId = "0"; ReceiveMessageResponse response = sqsClient.ReceiveMessage(recRequest); if (response.Messages.Count == 0) { return; } requestMessageId = response.Messages[0].MessageId; logger.Info("processing message: " + requestMessageId); // will be used to delete message string messageReceiptHandle = response.Messages[0].ReceiptHandle; string body = response.Messages[0].Body; tuples = ConversionRequestMessage.GetIdAndFileTuples(body, delimiter.ToString()); // delete message and dp the work // delete message DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest(); deleteMessageRequest.QueueUrl = listenerQueueName; deleteMessageRequest.ReceiptHandle = messageReceiptHandle; // success is not tested !!! sqsClient.DeleteMessage(deleteMessageRequest); }
public static void test_ConversionRequestMessage_GetMessageBody() { ConversionRequestMessage reqmsg = new ConversionRequestMessage(); reqmsg.AddIdAndFile(1, "test1"); reqmsg.AddIdAndFile(2, "test2"); reqmsg.AddIdAndFile(3, "test3"); string body = reqmsg.GetMessageBody("|"); Console.WriteLine(body); List <Tuple <int, string> > tt = ConversionRequestMessage.GetIdAndFileTuples(body, "|"); foreach (Tuple <int, string> ttp in tt) { Console.WriteLine(ttp.Item1.ToString() + " " + ttp.Item2); } }