Beispiel #1
0
        /*
         * Remove all messages from shutdown queue
         */
        private void ClearShutdownQueue()
        {
            var QueueURL = AppUtility.GetContext().ShutdownQueue;

            Amazon.SQS.Model.ReceiveMessageRequest request = new Amazon.SQS.Model.ReceiveMessageRequest();
            request.WithMaxNumberOfMessages(10);
            request.WithQueueUrl(QueueURL);
            var rsp = queue.ReceiveMessage(request);

            while (rsp.IsSetReceiveMessageResult() && rsp.ReceiveMessageResult.Message.Count > 0)
            {
                Debug.WriteLine("Remove Shutdown Messages: " + rsp.ReceiveMessageResult.Message.Count);
                var result = rsp.ReceiveMessageResult.Message;
                foreach (var msg in rsp.ReceiveMessageResult.Message)
                {
                    //Console.WriteLine("Message: " + msg);
                    if (msg.IsSetMessageId())
                    {
                        //Console.WriteLine("Body: " + msg.Body);
                        //if (msg.Body == "shutdown")
                        //{
                        //}
                        var delMsg = new Amazon.SQS.Model.DeleteMessageRequest();
                        delMsg.WithQueueUrl(QueueURL);
                        delMsg.WithReceiptHandle(msg.ReceiptHandle);
                        var delRsp = queue.DeleteMessage(delMsg);
                    }
                }
                rsp = queue.ReceiveMessage(request);
            }
        }
Beispiel #2
0
        public int GetNotifications()
        {
            int count = 0;
            // Check Queue For Shutdown Message
            var request = new Amazon.SQS.Model.ReceiveMessageRequest();

            request.WithQueueUrl(AppUtility.GetContext().ShutdownNotificationQueue);

            var rsp = queue.ReceiveMessage(request);

            if (rsp.IsSetReceiveMessageResult())
            {
                foreach (var msg in rsp.ReceiveMessageResult.Message)
                {
                    if (msg.IsSetMessageId())
                    {
                        Debug.WriteLine("Notification Instance shutdown: " + msg.Body);
                        var delMsg = new Amazon.SQS.Model.DeleteMessageRequest();
                        delMsg.WithQueueUrl(AppUtility.GetContext().ShutdownQueue);
                        delMsg.WithReceiptHandle(msg.ReceiptHandle);
                        var delRsp = queue.DeleteMessage(delMsg);
                        count += 1;
                    }
                }
            }

            return(count);
        }