/// <summary> /// Invokes the <see cref="OnItemRunAsync(ExecutorItemRunArgs{TItem})"/>. /// </summary> /// <param name="args">The <see cref="ExecutorItemRunArgs{TItem}"/>.</param> internal async Task RunItemAsync(ExecutorItemRunArgs <TItem> args) { try { await OnItemRunAsync(args); OnPerRunType(args); } catch (Exception ex) { if (!args.HasException) { args.SetException(ex); OnPerRunType(args); } throw; } }
/// <summary> /// Runs the <b>item</b> unit of work. /// </summary> /// <param name="args">The <see cref="ExecutorItemRunArgs{TItem}"/>.</param> protected abstract Task OnItemRunAsync(ExecutorItemRunArgs <TItem> args);