.net Core Background Service Schedule

4 min read Jun 03, 2024
.net Core Background Service Schedule

Programmez des tâches planifiées avec des services d'arrière-plan dans ASP.NET Core

Introduction

ASP.NET Core fournit une manière simple et efficace de créer des services d'arrière-plan qui peuvent exécuter des tâches programmées. Ces tâches peuvent être des opérations régulières telles que la mise à jour de données, l'envoi de notifications ou l'exécution de processus de maintenance. Dans cet article, nous allons explorer comment utiliser les services d'arrière-plan pour planifier des tâches dans votre application ASP.NET Core.

Services d'arrière-plan

Les services d'arrière-plan dans ASP.NET Core sont des classes qui implémentent l'interface IHostedService. Cette interface définit deux méthodes :

  • StartAsync: Cette méthode est appelée lorsque le service d'arrière-plan est démarré.
  • StopAsync: Cette méthode est appelée lorsque le service d'arrière-plan est arrêté.

Créer un service d'arrière-plan

Pour créer un service d'arrière-plan, vous devez créer une classe qui implémente l'interface IHostedService. Ensuite, vous devez configurer le service dans votre application.

Voici un exemple d'un service d'arrière-plan qui s'exécute toutes les minutes:

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

    public Task StartAsync(CancellationToken cancellationToken)
    {
        _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écutez votre tâche ici
        Console.WriteLine("Le service d'arrière-plan s'exécute à {0:HH:mm:ss}", DateTime.Now);
    }

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

Configurer le service d'arrière-plan

Pour configurer le service d'arrière-plan, vous devez l'ajouter au conteneur de services dans votre classe Startup.

public void ConfigureServices(IServiceCollection services)
{
    services.AddHostedService();
}

Planifier des tâches

Vous pouvez utiliser différentes méthodes pour planifier des tâches dans votre service d'arrière-plan.

  • Timer: Vous pouvez utiliser la classe Timer pour exécuter une tâche à intervalles réguliers.
  • HostedService: Vous pouvez utiliser l'interface IHostedService pour démarrer et arrêter le service d'arrière-plan.
  • BackgroundTaskQueue: Vous pouvez utiliser une file d'attente de tâches en arrière-plan pour gérer les tâches de manière asynchrone.

Conclusion

Les services d'arrière-plan dans ASP.NET Core vous offrent un moyen pratique et flexible de planifier des tâches. En utilisant les outils et les techniques que nous avons vus dans cet article, vous pouvez facilement créer des applications qui exécutent des tâches programmées. N'hésitez pas à expérimenter et à adapter ces techniques à vos besoins spécifiques.

Featured Posts