Utilizando o Background Tasks no ASP.NET Core com Hosted Services
7/3/2024, às 8:33:30
O que são Background Tasks?
Background Tasks são tarefas que são executadas em segundo plano, sem a necessidade de interação direta com o usuário. Eles são úteis para várias operações como envio de e-mails, processamento de dados, integração com sistemas externos, entre outros.
Quando Usar Background Tasks?
Utilize Background Tasks para:
Processamento de filas de mensagens.
Tarefas de limpeza periódica.
Integração com serviços externos.
Envio de notificações.
Configurando Background Tasks em ASP.NET Core
Passo 1: Criar um Hosted Service
Um Hosted Service é uma classe que implementa a interface IHostedService. Vamos criar um Hosted Service para executar uma tarefa em segundo plano.
O exemplo acima demonstra a execução de uma tarefa periódica a cada 5 segundos. Você pode ajustar o intervalo conforme necessário para sua aplicação.
Passo 4: Utilizar BackgroundService
Para simplificar a criação de serviços de background, o .NET Core fornece a classe BackgroundService, que já implementa a interface IHostedService. Vamos ver como utilizá-la.
Console.WriteLine("Timed background task is running at: " + DateTime.Now);
await Task.Delay(5000, stoppingToken);
}
}
}
Passo 5: Registrar o BackgroundService
No arquivo Startup.cs, registre o BackgroundService.
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddHostedService<TimedHostedService>();
}
Conclusão
Background Tasks são essenciais para muitas aplicações modernas, permitindo a execução de tarefas em segundo plano de maneira eficiente e escalável. O ASP.NET Core fornece uma maneira simples e poderosa de implementar e gerenciar essas tarefas usando Hosted Services.