2016-10-14 5 views
0

대기열 메시지에 의해 트리거되는 Webjob이 있습니다. 작업이 너무 오래 걸리면 메시지가 대기열에 다시 나타나고 동일한 메시지를 사용하는 웹 작업의 새 인스턴스가 트리거됩니다. 그럴 의도가 아닙니다.Azure Queue - 메시지가 다시 나타납니다.

다시 나타나기 전에 메시지가 대기열에 숨겨져있는 동안 시간을 ​​어떻게 설정할 수 있습니까?

답변

1

Azure 대기열 메시지에는 메시지가 다시 표시되기 전에 언제든지 프로그래밍 방식으로 설정할 수있는 가시성 제한 시간 값 (초 단위)이 있습니다. 당신은 당신이 코딩을하고 있지만 원시 REST API의 관점에서, 당신은 단지 갱신 메시지 작업 (큐의 메시지에 PUT을)해야 할 일 언어

언급하지 않았습니다. NET을 통해

https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> 

(C#을) : 문서에서

var message = queue.GetMessage(); 

queue.UpdateMessage(message, 
    TimeSpan.FromSeconds(30), 
    MessageUpdateFields.Visibility); 

는 API 호출 자세한 내용은 here를 참조하십시오.

+0

저는 C#으로 코딩하고 AzureSDK 구성 요소를 사용하고 있습니다. – BrilBroeder

+0

C# 코드 조각으로 업데이트 된 답변보기. –

+0

트리거 된 프로세스가 Q에서 메시지를 가져 오거나 다음 30 초 동안 보이지 않게 할 때마다 메시지가 30 초 동안 보이지 않도록 설정합니까? – BrilBroeder

관련 문제