Retry - ZjzMisaka/PowerThreadPool.zh-CN.Wiki GitHub Wiki
在设置了 WorkOption.RetryOption 后, 如果任务抛出异常并执行失败, 它将根据设置进行重试.
你可以配置重试行为 (立即重试或重新加入任务队列), 设置重试次数, 或允许无限重试 (在回调函数和 WorkEnded
事件参数中提供了停止重试的属性).
powerPool.QueueWorkItem(() =>
{
throw new Exception();
}, new WorkOption<object>()
{
RetryOption = new RetryOption()
{
RetryBehavior = RetryBehavior.Requeue,
RetryPolicy = RetryPolicy.Limited,
MaxRetryCount = 5,
},
Callback = (res) =>
{
if (res.Status == Status.Failed)
{
if (res.RetryInfo.CurrentRetryCount == 2)
{
res.RetryInfo.StopRetry = true;
}
}
}
});