Planifier des tâches avec .NET 6
.NET 6 offre une manière puissante et flexible de planifier des tâches qui s'exécutent à intervalles réguliers ou à des moments spécifiques. Que vous ayez besoin d'exécuter des scripts de maintenance, de mettre à jour des données ou d'envoyer des notifications, les tâches planifiées sont un outil indispensable.
Comprendre les tâches planifiées dans .NET 6
Les tâches planifiées dans .NET 6 sont basées sur le package Microsoft.Extensions.Hosting.Systemd
pour les systèmes Linux et Microsoft.Extensions.Hosting.WindowsServices
pour les systèmes Windows. Elles vous permettent de définir des jobs qui s'exécutent selon un planning précis.
Créer une tâche planifiée
- Créez un projet .NET 6 Console App.
- Installez le package
Microsoft.Extensions.Hosting.Systemd
ouMicrosoft.Extensions.Hosting.WindowsServices
en fonction de votre système d'exploitation. - Implémentez l'interface
IHostedService
. Cette interface contient deux méthodes :StartAsync
etStopAsync
. La méthodeStartAsync
est appelée lorsque le service démarre et contient votre logique de tâche planifiée. - Utilisez
Timer
pour planifier l'exécution de votre tâche. LeTimer
vous permet de définir l'intervalle entre les exécutions de votre tâche.
public class MyScheduledTask : IHostedService
{
private Timer _timer;
public Task StartAsync(CancellationToken cancellationToken)
{
// Configuration du timer avec un intervalle de 1 minute
_timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(1));
return Task.CompletedTask;
}
public Task StopAsync(CancellationToken cancellationToken)
{
_timer?.Dispose();
return Task.CompletedTask;
}
private void DoWork(object state)
{
// Exécuter votre code de tâche ici
Console.WriteLine("Tâche planifiée exécutée à : " + DateTime.Now);
}
}
Configuration et exécution
- Créez un fichier de configuration pour votre application. Ce fichier contient les paramètres de votre tâche planifiée.
- Ajoutez votre classe de tâche planifiée au conteneur de services.
- Exécutez votre application.
Avantages des tâches planifiées
- Automatisation: Exécutez des tâches répétitives sans intervention manuelle.
- Fiabilité: Garantissez l'exécution régulière de vos tâches critiques.
- Efficacité: Optimisez vos processus en les exécutant à des moments spécifiques.
- Flexibilité: Planifiez des tâches à intervalles réguliers, à des dates précises ou en fonction d'événements.
Conclusion
Les tâches planifiées sont un outil précieux dans le développement .NET 6. Elles vous permettent d'automatiser des processus, d'améliorer la fiabilité et de garantir l'efficacité de vos applications. En utilisant les techniques décrites dans cet article, vous pouvez facilement planifier et exécuter des tâches répétitives avec .NET 6.