Aide du Hub TheSocle · backup.schedules.ecran

Schedules cron

Les sauvegardes automatiques : une expression cron, une destination S3, une durée de conservation.

Voir l'élément dans l'écran : backup/schedules

Explication

Une planification (schedule) dit au Hub : « à telle heure, sauvegarde vers telle destination, et garde N jours ».

Le Hub vérifie toutes les 60 secondes s'il a une planification due. Si oui, il lance le passage vers sa destination, puis calcule la prochaine échéance à partir de l'heure réelle. Le déclencheur inscrit dans l'historique est schedule:<nom>.

Après un passage, si la rétention est positive, le Hub purge les anciens passages (voir Rétention).

Une planification exige une destination : sans destination enregistrée, l'écran affiche un bandeau jaune à la place du formulaire.

Fiche complète

Ce que l'écran appelle

À l'ouverture : GET /hub/backup/schedules → listSchedules() et listDestinations(), comme les actions backup_worker.list_schedules et list_destinations.

Le moteur

BackupSchedulerService.tick(), toutes les 60 s (réglable par backup.scheduler.tick-ms), 30 s après le démarrage :

  1. lit les planifications actives dont next_run_at est vide ou passé ;
  2. prend un verrou PostgreSQL par planification : deux instances du Hub ne lancent pas le même passage ;
  3. au tout premier tour, inscrit seulement la prochaine échéance, sans lancer ;
  4. lance le passage, puis replanifie — même si le passage a échoué, pour qu'une panne ne devienne pas une boucle de tentatives.

Constaté sur le Hub 3.77.0

Sommaire du démonstrateur