2017-03-21 1 views
3

I 푸른 저장 큐와 부하를 공유하는 분산 응용 프로그램이 있습니다. 모든 것이 잘 작동하는지 확인하기 위해 10 분마다 실행되는 작은 응용 프로그램을 작성하고 대기열에있는 항목의 양을 확인합니다. 번호가 임계 값을 초과하면 알림 메시지를 보내주십시오.푸른 저장 큐 - 눈에 보이는 메시지를 계산

Dictionary<string, int> dic = new Dictionary<string, int>(); 
foreach (CloudQueue queue in QueuesToMonitor) 
{ 
    queue.FetchAttributes(); 
    dic.Add(queue.Name, queue.ApproximateMessageCount.HasValue ? queue.ApproximateMessageCount.Value : -1); 
} 

이 코드는 잘 작동하지만, 그것은 또한 숨겨진 어떤 메시지를 계산 : 나는 모든 큐를 통해 실행하는거야 방법

이입니다. 나는 그 메시지가 계산에서 제외되도록하고 싶다. 왜냐하면 그러한 메시지는 실행 준비가되어 있지 않기 때문이다.

예를 들어, 대기열 중 하나를 검사하여 대기열에있는 항목이 579 개라는 대답을 얻었습니다. 하지만 actully는 보이는 항목이 없습니다. Azure 저장소 탐색기로 확인합니다 : 0 of 579

대기열에있는 보이는 항목 만 어떻게 계산합니까?

답변

0

질문에 대한 간단한 대답은 대기열에 보이는 메시지 만 가져올 수 없다는 것입니다.

대략적인 메시지 수는 대기열에있는 전체 메시지 수를 대략적으로 표시하며 표시 및 숨김 메시지를 모두 포함합니다.

당신이 할 수있는 한 가지 일은 메시지에 PEEK이며 표시되는 메시지 목록이 표시됩니다. 그러나 대기열에서 최대 32 개의 메시지가 반환됩니다. 따라서 임계 값이 32보다 작 으면 알림 메시지를 보내는 논리가 작동합니다.

+2

이것은 나쁜 소식입니다. 내가 5000 + 메시지의 임계 값을 사용하고 있기 때문에 픽은 문제를 해결하지 못합니다. 그렇다면 Azure Storage Explorer가 정보를 추출하는 방법은 무엇입니까? 이거 꽤 잘하고있어. – No1Lives4Ever