2015-01-07 3 views
16
public static void ProcessMessage([QueueTrigger("queue")] string message, TextWriter log) 
{ 
    //processing message 
} 

정확히이 방법이 트리거됩니다.WebJob QueueTrigger가 트리거, 폴링 또는 이벤트를 어떻게 처리합니까?

WebJob 호스트가 스토리지 대기열을 폴링합니다. 또는 저장 대기열에서 구독중인 새 메시지 이벤트가 발생 했습니까?

+1

폴링입니다. Azure Storage는 어떤 이벤트도 발생시키지 않습니다! – astaykov

답변

28

이 링크는 귀하의 답변입니다;

http://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-storage-queues-how-to/

폴링 알고리즘

SDK는 을 저장 거래 비용에 유휴 큐 폴링의 영향을 줄이기 위해 임의의 지수 백 오프 알고리즘을 구현합니다. 메시지가 발견되면 SDK는 2 초 동안 기다린 다음 다른 메시지를 확인합니다. 메시지가 없으면 다시 시도하기 전에 약 4 초간 기다립니다. 연속적으로 대기열을 가져 오는 시도가 실패한 후 대기 시간은 최대 대기 시간 인 에 도달 할 때까지 계속 증가합니다. 기본값은 1 분입니다. 최대 대기 시간은 입니다.

도울 수 있습니다.

JobHostConfiguration config = new JobHostConfiguration();  
config.Queues.MaxPollingInterval = TimeSpan.FromMinutes(1);   
JobHost host = new JobHost(config); 
host.RunAndBlock(); 
+0

좋아, 고마워! –