예제 #1
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);
        }
예제 #2
0
        public ErrorTypes RemoveTask(object key)
        {
            ErrorTypes eResult = ErrorTypes.Unknown;

            try
            {
                SQSDataKey oSQSDataKey = (SQSDataKey)key;
                string     strUrlQueue = GetQueueUrl(oSQSDataKey.m_oPriority);

                using (Amazon.SQS.AmazonSQS oSQSClient = Amazon.AWSClientFactory.CreateAmazonSQSClient())
                {
                    Amazon.SQS.Model.DeleteMessageRequest oDeleteRequest = new Amazon.SQS.Model.DeleteMessageRequest();
                    oDeleteRequest.QueueUrl      = strUrlQueue;
                    oDeleteRequest.ReceiptHandle = (string)oSQSDataKey.m_strReceiptHandle;

                    oSQSClient.DeleteMessage(oDeleteRequest);
                    eResult = ErrorTypes.NoError;
                }
            }
            catch (Amazon.SQS.AmazonSQSException)
            {
            }
            catch
            {
            }

            return(eResult);
        }