4
제가현재 장애가 발생해도 대기열에서 다른 작업을 계속하는 방법은 무엇입니까?
private static void ExecuteOnTaskFailure(Task previousTask)
{
if (!previousTask.IsFaulted)
return;
if (previousTask.Exception != null && previousTask.Exception.InnerExceptions != null)
foreach (var exception in previousTask.Exception.InnerExceptions)
{
Logger.Error("Task failed continued to the next task : " + exception.Message, exception);
}
}
이 그다지 작업은 다음과 같이 메소드가 정의 ExecuteOnTaskFailure
Queue
.GetConsumingEnumerable()
.ToObservable()
.Select(x => x.ObserveOn(NewThreadScheduler.Default))
.SubscribeOn(NewThreadScheduler.Default)
.Subscribe(
grp => grp.ForEachAsync(b => b.Execute())
.ContinueWith(ExecuteOnTaskFailure, TaskContinuationOptions.OnlyOnFaulted));
아래와 같이 대기열을 실행하는 코드를 갖는다. 나는 대기열에서 작업을 실행하는 데 실패하더라도 하나의 작업을 계속 실행하는 방법을 알아낼 수 없습니다. 또한 대기열 끝에이 실패한 작업을 재구성 할 수있는 방법이 있습니까?
여기에 도움을 주시면 감사하겠습니다.
그것은 당신이 원하는 것을 같은 소리
+1 답장을 보내고 시도하십시오! 결국 결국이 게시물을 업데이트 할 시간이 없었습니다. –