타이머 함수에 재시도 정책을 추가하는 방법
4100 단어 tutorialwebdevprogrammingazure
안녕하세요. 제 블로그 게시물에 오신 것을 환영합니다.
오늘은 급합니다. 타이머 기능에 재시도 정책을 추가하는 방법을 보여드리겠습니다. 얼마 전에 Microsoft의 트위터 계정에서 공유된 기사를 보고 일부 정보를 공유하고 싶었습니다. 정말 멋진 기능인 것 같고 제가 기대하는 기능 중 하나입니다. 지난 5년 정도 동안 기능 앱으로 작업했습니다. 또한 아래에 기사를 링크하겠습니다.
재시도 정책이란?
재시도 정책은 최대 재시도 횟수에 도달하거나 엔드포인트가 성공적인 응답을 반환할 때까지 요청을 여러 번 재시도하는 작업입니다.
주로 응용 프로그램의 일시적인 오류를 처리하는 데 사용됩니다. 연결 끊김, 예상치 못한 사소한 오류와 같은 것.
구현
이 재시도 정책은 모든 종류의 Azure 함수에서 사용할 수 없습니다. 오늘은 예를 들어 타이머 기능에 대해 보여드리도록 하겠습니다. 내가 아는 한 이 바인딩은 Timer, Event Hubs 기능에만 작동하지만 Azure 기능에 재시도 정책을 추가하는 다른 방법이 있습니다.
타이머 기능의 경우 재시도 정책을 추가하는 것은 매우 간단합니다. 다음 'FixedDelayRetry' 바인딩을 함수 앱에 추가하기만 하면 됩니다.
[FunctionName("Function1")]
[FixedDelayRetry(5, "00:00:10")]
public void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
int i = Random.Shared.Next(4);
if (i < 4)
{
log.LogError($"Thrown an error because number generated was < 4: {i}");
throw new FunctionException("Not working :(");
}
}
재시도 정책을 테스트하기 위해 함수에 논리를 추가했습니다.
주목해야 할 중요한 사항은 바인딩에서 시도하려는 재시도 횟수와 그 사이의 시간 지연을 지정해야 한다는 것입니다. 이 예에서는 각 시도 사이에 10초의 지연 시간을 두고 최대 5번 재시도하도록 설정했습니다.
이 기능은 버전 3 이상의 기능 앱에서만 사용할 수 있다는 점도 주목할 가치가 있습니다.
약속한 대로 원본 기사는 다음과 같습니다.
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-error-pages?tabs=fixed-delay%2Cin-process&pivots=programming-language-csharp
또는 재시도 패턴에 대해 자세히 알아보려면 다음을 수행하세요.
https://docs.microsoft.com/en-us/azure/architecture/patterns/retry
읽어주셔서 감사하고 다음에 또 뵙길 바랍니다.
Reference
이 문제에 관하여(타이머 함수에 재시도 정책을 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/albertbennett/how-to-add-a-retry-policy-to-a-timer-function-1b3g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)