Aller au contenu

Tâches planifiées

Le hub embarque un planificateur (pg-boss, dans la base mo_hub). Chaque tâche est une ligne du catalogue, globale ou propre à un workspace ; les tâches de workspace sont créées automatiquement au provisioning.

  • Exécution unique : même avec plusieurs instances du hub, une tâche ne s’exécute jamais deux fois en parallèle.
  • Délai maximal (timeout_seconds) : au-delà, l’exécution est marquée bloquée et une alerte cron_stuck est levée.
  • Relances (max_retries) en cas d’échec, puis alerte cron_failed.
  • Historique : début, durée, statut, tentative, instance, sortie ; les dernières lignes de journal en base, le journal complet dans Silo (mo-hub/cron/<runId>.log).

Expression cron à 5 champs, avec fuseau horaire. La console affiche un aperçu en clair des prochaines exécutions (POST /cron/preview). Pour chaque tâche : activer / désactiver, lancer maintenant, annuler une exécution en cours. Les tâches métier sont replanifiables par les rôles owner / admin du workspace ; les tâches d’infrastructure seulement depuis la console.

Code Rôle
backups.hub sauvegarde de la base du hub
backups.keycloak export des realms Keycloak
backups.openbao export chiffré des secrets
backups.prune application des rétentions
infra.probe sondes d’état des serveurs, bases et moteurs
alerts.evaluate évaluation des règles d’alerte
webhooks.retry nouvelles tentatives des webhooks en échec
stats.aggregate agrégation des statistiques plateforme
Code Rôle
backups.full / backups.wal / backups.restore_test sauvegarde complète, archivage continu, test de restauration
coupons.expire coupons échus → expirés
points.expire expiration des lots de points (FIFO)
points.expiry_warnings alertes clients avant expiration
points.reservations.expire libération des réservations de points non résolues
points.activate activation des points en attente (délai d’activation)
counters.periodic_reset remise à zéro des compteurs périodiques
transactions.expire_pending expiration des tickets restés en attente
stats.rollup_daily agrégats journaliers
gdpr.retention purge selon les durées de conservation
gdpr.anonymize_inactive anonymisation des clients inactifs
silo.cleanup nettoyage des fichiers expirés
customers.birthdays émission des événements d’anniversaire
offers.expire offres dont la validité est passée → expirées
abtests.close clôture des tests A/B arrivés à échéance
sync.run exécution d’un connecteur de synchronisation (une tâche par connecteur)
segments.compute calcul d’un segment (une tâche par segment)