BTaskQueue - Esempi
BTaskQueue queue = new BTaskQueue(numberOfTaskExecuting: 3)
{
TimeoutElaboration = 60_000,
MaxRetryElaboration = 2
};
queue.AllTaskCompleted += (started, completed) =>
{
TimeSpan duration = completed - started;
};
queue.AddTask(new ImportTask { Nome = "Customers", FilePath = customersPath });
queue.AddTask(new ImportTask { Nome = "Products", FilePath = productsPath });
await queue.ExecuteAsync();
Queue<BTaskWrapperBase> failed = queue.FailedTasks;
La coda limita la concorrenza con SemaphoreSlim e attende tutte le RunningTask. Le impostazioni globali di timeout e retry vengono copiate nel wrapper quando viene aggiunto. Per nuovo codice asincrono è la scelta predefinita rispetto alle code basate direttamente su Thread.
