.net Core Scheduled Task Example

4 min read Jun 03, 2024
.net Core Scheduled Task Example

Exemple de tâche planifiée avec .NET Core

Introduction

.NET Core offre une solution simple et efficace pour créer des tâches planifiées. Ces tâches, également connues sous le nom de "jobs", permettent d'exécuter automatiquement du code à intervalles réguliers ou à des moments précis. Cela peut être utile pour une variété de tâches, comme la mise à jour de données, l'envoi de notifications, la génération de rapports, ou le nettoyage de fichiers.

Création d'une tâche planifiée

Pour créer une tâche planifiée dans .NET Core, vous pouvez utiliser la bibliothèque Microsoft.Extensions.Hosting. Cette bibliothèque fournit une interface simple pour définir des services d'arrière-plan qui peuvent être exécutés en tant que tâches planifiées.

Voici un exemple simple de .NET Core scheduled task:

using Microsoft.Extensions.Hosting;

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureServices((hostContext, services) =>
            {
                // Définir le service de tâche planifiée
                services.AddHostedService();
            });
}

public class ScheduledTask : IHostedService, IDisposable
{
    private Timer _timer;

    public Task StartAsync(CancellationToken cancellationToken)
    {
        // Définir l'intervalle d'exécution de la tâche
        _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromSeconds(10));

        return Task.CompletedTask;
    }

    private void DoWork(object state)
    {
        // Exécuter le code de la tâche ici
        Console.WriteLine("Tâche planifiée exécutée à {0}", DateTime.Now);
    }

    public Task StopAsync(CancellationToken cancellationToken)
    {
        _timer?.Dispose();
        return Task.CompletedTask;
    }

    public void Dispose()
    {
        _timer?.Dispose();
    }
}

Dans cet exemple, la classe ScheduledTask implémente l'interface IHostedService. La méthode StartAsync est appelée lorsque l'application démarre. Elle initialise un Timer qui appelle la méthode DoWork toutes les 10 secondes. La méthode DoWork contient le code qui doit être exécuté par la tâche planifiée.

Exécution de la tâche planifiée

Pour exécuter la tâche planifiée, il suffit d'exécuter l'application .NET Core. La tâche sera automatiquement exécutée à intervalles réguliers.

Conclusion

.NET Core offre une méthode simple et efficace pour créer des .NET Core scheduled task et automatiser des tâches répétitives. La bibliothèque Microsoft.Extensions.Hosting fournit une interface intuitive pour définir les services d'arrière-plan et gérer les intervalles d'exécution. Grâce à cette fonctionnalité, vous pouvez améliorer l'efficacité de vos applications et automatiser des processus essentiels.

Related Post