コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }