홈>
ReceiveAndDelete 모드에서 Service Bus로부터 메시지를 받고 완료 후 메일을 보내는 매우 긴 계산 프로세스를 실행하기 시작합니다. 장기 실행 메소드의 모든 메소드에 오류 로깅이 있습니다. 그러나이 방법은 10-15 분 동안 실행되며 전자 메일을 보내지 않고 오류를 기록하지도 않습니다. 메시지의 TTL과 관련이있을 수 있습니다.
어떻게해야합니까?
private static async Task ProcessMessagesAsync(Message message, CancellationToken token)
{
try
{
IQueueClient queueClient = new QueueClient(serviceBusConnectionString, serviceBusQueueName, ReceiveMode.ReceiveAndDelete);
var receivedMessageTrasactionId = Convert.ToInt64(Encoding.UTF8.GetString(message.Body));
// Very Long Running Method
await DataCleanse.PerformDataCleanse(receivedMessageTrasactionId);
// to avoid unnecessary exceptions.
}
catch (Exception ex)
{
Log4NetErrorLogger(ex);
throw ex;
}
}
- 답변 # 1
관련 자료
- Azure Data Catalog와 Azure Purview의 차이점은 무엇입니까?
- microsoft graph api - azure 서비스 버스 메시지 ID us 이메일 ID
- Azure WebJob에서 SignalR 메시지를 Azure SignalR 서비스로 보내지 않음
- Azure PowerShell에서 사용자 지정 오류 메시지를 표시하고 종료합니다
- java - 주기적으로 데이터를 수신 할 때 어떻게 내 InputStream의 메시지가 null이되지 않습니까?
- azureservicebus - Azure Message와 BrokeredMessage 간의 호환성
- architecture - Azure Function ServiceBusTrigger 메시지 프로세서 디자인
- azureservicebus - Azure Service bus에서 가능한 모든 메시지 탐색
- azureservicebus - azure 서비스 버스 주제 - 구독 메시지가 수신됩니다 소비자/고객을 찾는 방법
- azureservicebus - DeliveryCount는 Microsoft Azure ServiceBus의 메시지마다 다릅니다
- c# - WebSocket-Sharp 및 IBM Watson TTS를 사용하여"이진 데이터를 수신하기 전에 JSON 헤더 메시지를 예상했습니다"오류
- Java 프로그램을 사용하여 Azure Service Bus 큐에서 보류중인 메시지를 받습니까?
- Azure Logic App을 사용하여 Outlook 메시지 본문에서 https 링크 팔로우
- Azure Logic App Skype 커넥터를 사용하여 스카이프 그룹에 메시지를 보내려면 어떻게해야합니까?
- Python의 Azure 서비스 버스 메시지에서 C # 개체를 읽는 방법
- c# - azure service bus 주제 - 가입 메시지 만료
관련 질문
- c# : iHostBuilder Hosted Service에서 지연된 메시지 연기 및 재 수신
- c# : 3 ~ 4 분 후에 텍스트에 대한 Azure Speech가 작동하지 않습니다
- c# : ASP.NET 응용 프로그램의 내부에서`build.buildNumber` Azure 변수에 액세스 할 수 있습니까?
- c# : Azure 기능은 AppSettings.Prod.json 파일을 플러스하지 않습니다
- 로컬에서 Azure 서비스 버스 사용
- c# : Microsoft Teams Integrated Bot에 표시되지 않는 메시지가 표시됩니다
- c# : Azure 파이프 라인이 시작되지 않습니다
- c# : Azure EventGrid 인증 체계를 관리하는 방법은 무엇입니까?
- c# : Azure 파이프 라인의 통합 테스트를위한 트랜잭션 롤백을 수행하는 방법은 무엇입니까?
- c# : ASP.NET 핵심 웹 응용 프로그램을 Azure에 배포 할 때 내 환경 설정이 왜 감지되지 않는 이유는 무엇입니까?
ReceiveAndDelete
에서 메시지를받을 때 메시지의 시간은 중요하지 않습니다. 클라이언트 쪽에서 메시지가 수신되면 브로커에서 제거됩니다. 오류가 발생하면 메시지가 사라집니다. 그래서PeekLock
를 사용하는 것이 좋습니다. 메시지를 검색하고 처리하는보다 안전한 메커니즘을 원할 때 수신 모드. 주의 사항은 처리 시간입니다. 충분한 정보가 있기 때문에 그것에는 들어 가지 않을 것이지만 잠금 갱신의 필요성을 없애기 위해 메시지 잠금 또는 오프로드 처리를 갱신 할 수 있습니다. 이 답변에서 대안을 찾을 수 있습니다.