.net Core Scheduled Task

5 min read Jun 03, 2024
.net Core Scheduled Task

Les tâches planifiées dans .NET Core : Une introduction pratique

Introduction

Dans le monde du développement logiciel, la capacité à exécuter des tâches de manière automatisée et planifiée est une fonctionnalité essentielle. .NET Core offre un moyen simple et puissant d'implémenter des tâches planifiées, permettant aux développeurs de gérer des opérations régulières, telles que la mise à jour de données, l'envoi d'e-mails ou l'exécution de scripts, sans intervention manuelle.

Comprendre les tâches planifiées dans .NET Core

Le framework .NET Core utilise la bibliothèque Hangfire pour la gestion des tâches planifiées. Hangfire est une bibliothèque open source populaire qui offre une interface conviviale et flexible pour la planification et l'exécution de tâches. Il permet de définir facilement des tâches qui doivent être exécutées à intervalles réguliers, à des dates précises ou en réponse à des événements spécifiques.

Création de tâches planifiées

Pour créer une tâche planifiée dans .NET Core, vous devez suivre les étapes suivantes :

  1. Installer le package Hangfire : Utilisez le gestionnaire de packages NuGet pour installer le package Hangfire dans votre projet .NET Core.
  2. Configurer Hangfire : Configurez Hangfire dans votre application en utilisant le code suivant :
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
{
    // ...

    app.UseHangfireServer();
    app.UseHangfireDashboard("/hangfire");

    // ...
}
  1. Définir la tâche : Créez une classe contenant la logique de votre tâche planifiée.
public class MyScheduledTask
{
    public void Execute()
    {
        // Code à exécuter pour la tâche
        Console.WriteLine("La tâche planifiée a été exécutée !");
    }
}
  1. Planifier la tâche : Utilisez la méthode RecurringJob de Hangfire pour planifier l'exécution de votre tâche.
RecurringJob.AddOrUpdate(
    x => x.Execute(),
    Cron.Minutely,
    TimeZoneInfo.Local);

Gestion des tâches planifiées

Hangfire offre une interface de tableau de bord pour la gestion des tâches planifiées. Vous pouvez accéder à cette interface via l'URL /hangfire dans votre application. Le tableau de bord vous permet de :

  • Visualiser les tâches en cours d'exécution.
  • Arrêter, redémarrer ou supprimer des tâches.
  • Modifier les paramètres de planification.
  • Suivre l'historique des exécutions.

Exemples d'utilisation des tâches planifiées

Les tâches planifiées peuvent être utilisées dans divers scénarios, notamment :

  • Mise à jour de bases de données : Exécutez une tâche planifiée pour synchroniser les données d'une base de données externe.
  • Envoi d'e-mails : Planifiez l'envoi d'e-mails périodiques aux utilisateurs, tels que des bulletins d'information ou des rappels.
  • Traitement de fichiers : Exécutez des tâches pour traiter des fichiers entrants, tels que la conversion de fichiers ou l'analyse de données.
  • Exécution de scripts : Planifiez l'exécution de scripts shell ou Python pour des tâches automatisées.

Conclusion

Les tâches planifiées sont un outil essentiel pour les développeurs .NET Core, permettant d'automatiser les opérations répétitives et de garantir l'exécution régulière de tâches critiques. En utilisant la bibliothèque Hangfire, vous pouvez facilement créer, gérer et surveiller des tâches planifiées, améliorant ainsi l'efficacité et la fiabilité de votre application.