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);
}
}
这不工作执行像下面
Queue
.GetConsumingEnumerable()
.ToObservable()
.Select(x => x.ObserveOn(NewThreadScheduler.Default))
.SubscribeOn(NewThreadScheduler.Default)
.Subscribe(
grp => grp.ForEachAsync(b => b.Execute())
.ContinueWith(ExecuteOnTaskFailure, TaskContinuationOptions.OnlyOnFaulted));
方法ExecuteOnTaskFailure被定义的队列。我似乎无法弄清楚如何让队列中的任务继续执行,即使其中一个任务执行失败。我还有一种方法可以在排队结束时重新排除这个失败的任务吗?
这里的任何帮助,非常感谢。
+ 1 for reply and try catch!我最终结束了这样做,没有时间更新这篇文章。 –