B-Arts DocumentationIndice generale

BTaskWrapperBase - Esempi

using B.BThreading;

public sealed class ImportTask : BTaskWrapperBase
{
  public string FilePath { get; init; } = "";

  protected override async Task<bool> Elaboration(CancellationToken cancellationToken)
  {
    cancellationToken.ThrowIfCancellationRequested();
    return await ImportFileAsync(FilePath, cancellationToken);
  }
}

ImportTask task = new ImportTask
{
  Nome = "Import customers",
  FilePath = importPath,
  TimeoutElaboration = 30_000,
  MaxRetryCount = 2
};

task.StartTask();
await task.RunningTask!;

L'elaborazione deve restituire true per completare con successo. false o un'eccezione attivano i retry configurati; timeout e CancelTask() usano il token di cancellazione. La classe raccoglie gli errori in ExceptionsList e scrive il dettaglio in Logger.