Django-celery-beat offre diverses options pour planifier des tâches Celery périodiques, que vous pouvez facilement configurer dans l'administration Django. Dans cet article, nous allons présenter 4 principales options de planification de tâches de Django-celery-beat et examiner les situations appropriées et des exemples d'utilisation pour chaque option.

1. Tâches Interval : Exécution répétée à intervalles réguliers

Les tâches Interval vous permettent de définir des intervalles de temps pour exécuter les tâches de manière répétée. Par exemple, vous pouvez définir des intervalles tels que toutes les 5 minutes, toutes les heures, tous les jours, ce qui est utile pour les tâches nécessitant un suivi régulier ou des mises à jour périodiques.

  • Exemple de configuration : Configurer pour que les sauvegardes de données s'exécutent tous les jours à 14h.
  • Situations appropriées:
    • Tâches nécessitant des mises à jour de données périodiques
    • Tâches répétitives comme le suivi en temps réel
Interval: Every 1 day

2. Tâches Crontab : Exécution à des heures spécifiques

Les tâches Crontab permettent d'exécuter des tâches selon un horaire fixe (heure ou jour). Elles conviennent aux tâches devant respecter des horaires tels que tous les jours à minuit ou tous les lundis à 9h, idéal pour les tâches à exécuter périodiquement selon un calendrier.

  • Exemple de configuration : Configurer pour que nettoyage des journaux de données s'exécute à minuit chaque jour ou que des rapports soient générés chaque lundi.
  • Situations appropriées:
    • Tâches devant s'exécuter à des horaires spécifiques chaque jour/semaine
    • Tâches nécessitant des horaires fixes plutôt que des périodes répétitives
Crontab: Minute=0, Hour=0, Day of Week=* (tous les jours à minuit)

3. Tâches Clocked : Exécution réservée à des événements spécifiques

Les tâches Clocked sont réservées pour être exécutées une seule fois à un moment spécifique. Les tâches programmées disparaissent automatiquement une fois terminées, ce qui convient lorsque une tâche est requise à un moment précis d'un événement. Par exemple, vous pouvez programmer l'exécution d'une tâche à l'heure de l'événement qu'un utilisateur a réservé.

  • Exemple de configuration : Programmer l'envoi d'une notification d'événement selon les demandes des utilisateurs ou configurer des tâches qui doivent être exécutées une seule fois.
  • Situations appropriées:
    • Tâches exécutées une seule fois (par exemple : notifications d'événements réservés)
    • Tâches réservées individuellement selon les demandes des utilisateurs
Clocked: Exécution une fois à un moment d'événement spécifique

4. Tâches Solar : Exécution des tâches en fonction des événements astronomiques

Les tâches Solar permettent de programmer des tâches en fonction de phénomènes astronomiques tels que le lever et le coucher du soleil. Elles sont basées sur la position du soleil, vous pouvez donc les configurer en fonction de votre localisation et fuseau horaire. Par exemple, elles sont utiles lorsque vous devez exécuter une tâche au moment du lever de soleil dans une région spécifique.

  • Exemple de configuration : Configurer les lampadaires pour s'allumer au lever de soleil ou pour démarrer des tâches spécifiques au coucher du soleil.
  • Situations appropriées:
    • Tâches à exécuter périodiquement en fonction de phénomènes naturels comme le lever/coucher du soleil
    • Tâches basées sur des événements astronomiques selon la localisation
Solar: Tâches basées sur le lever/coucher du soleil

Critères de sélection pour chaque option de tâche

Option Description Exemples d'utilisation
Interval Exécution répétée à intervalles réguliers Suivi en temps réel, mises à jour de données périodiques
Crontab Exécution à des heures et jours spécifiques Nettoyage des données à minuit chaque jour, génération de rapports chaque lundi
Clocked Exécution réservée à un moment spécifique Notifications de réservation utilisateur, événements ponctuels
Solar Exécution de tâches en fonction des événements astronomiques Éclairage automatique au lever du soleil, démarrer des tâches au coucher du soleil

En tirant parti des différentes options de Django-celery-beat, vous pouvez facilement gérer une variété de besoins, des tâches répétitives aux tâches devant être exécutées à des horaires précis. Comprendre les caractéristiques de chaque option et choisir les paramètres appropriés permet une gestion efficace des tâches.

Options de planification des tâches dans Django Admin avec django-celery-beat