Skip to content

Tâches planifiées (crons)

Inventaire des crons actifs sur les trois plateformes. Toutes les heures sont en Europe/Paris sauf mention contraire.

article1-connect — aucun cron. Les synchros (RAMSESE, ONISEP) sont déclenchées manuellement via POST /api/v1/admin/etablissements/sync/ramsese.


inspire-v2

Fichier : api/src/core/cron-tasks/cron-tasks.ts

Heure / fréquence Fonction Description Charge
Toutes les 2 s monitorMuxAssets Vérifie l'état des uploads vidéo Mux (UploadDone → Ready/Errored). Guard anti-overlap. Faible — appels API Mux ponctuels
Toutes les 60 s updateElasticDatabase Sync incrémentale Elasticsearch (Pistes, Articles, Users). Moyenne — requêtes DB + ES
Tous les jours à 00h00 UTC updateElasticDatabaseDaily Rebuild complet Elasticsearch (forceAll=true). Élevée — scan complet de la DB
Tous les jours à 19h00 mailToNotifyNewMessage Notifie par mail les éclaireurs et lycéens ayant de nouveaux messages non lus. Faible–Moyenne selon volume
Tous les jours à 20h00 mailToNotifyAbsenceOfResponseFromEclaireur Rappel aux lycéens si leur éclaireur n'a pas répondu depuis 10 jours. Faible
1er août à 00h00 resetIsProfileCompleteForNewSchoolYear Remet isProfileComplete = false pour tous les éclaireurs (rentrée scolaire). Très faible — une fois par an

Les 21 tâches testHeure* présentes dans le fichier sont des stubs vides utilisés pour vérifier la synchronisation de l'heure serveur.


dema1n

Fichier : back/src/binomes/services/cron-tasks.service.ts

La plupart des tâches ne s'exécutent que sur l'instance WORKER_SERVER=1, sauf les deux tâches LLM (WORKER_SERVER≠1). Le verrou Redis prévient les exécutions concurrentes sur plusieurs process PM2.

Heure / fréquence Fonction Description Charge
Toutes les 5 min fillScoreEngagementJeune Calcule le score d'engagement des jeunes sans score (max 1 000/run). Moyenne — requêtes DB
Toutes les min (:00) extractPrecisionsBenevoles Extraction LLM des champs "précisions" bénévoles (max 20/run, verrou Redis). Moyenne — appels LLM
Toutes les min (:30) extractPrecisionsJeunes Extraction LLM des champs "précisions" jeunes (max 20/run, verrou Redis). Moyenne — appels LLM
Toutes les 30 min (:02s) prepareMessages Prépare et envoie les messages de suivi. Faible–Moyenne
Toutes les heures (:00) cancelBinomePremer Annule les binômes en statut "Premer" si le partenaire a activé preMailMer. Faible
Toutes les heures (:00) checkState Met à jour les états des binômes (en attente → à annuler). Faible
Toutes les heures (:30, 8h–20h) sendCampaignsPaginatedMails Envoi des campagnes mail par lots de 100 (limité aux heures ouvrées). Moyenne — envois SMTP
17h00 relanceFormation Rappel formation aux bénévoles. Faible
17h00 relanceActivation Rappels d'activation (jeunes + bénévoles + emails "patience"). Faible
17h00 relanceNonDispo Rappel aux jeunes marqués non-disponibles. Faible
17h00 relanceFormationPostBinome Rappel formation aux bénévoles après formation d'un binôme. Faible
17h00 relanceImpact Rappel questionnaire d'impact aux binômes. Faible
17h00 relanceIndispoUntil Rappel aux bénévoles dont la période d'indisponibilité est terminée. Faible
17h30 anonymizeStaleMentorOnboarding Anonymise les bénévoles bloqués en onboarding depuis >180 jours. Très faible
18h30 checkMailsSentToday Log du nombre total de mails envoyés dans la journée (monitoring). Négligeable
23h30 checkBenevolesInfos Vérification d'intégrité des données bénévoles. Faible
23h45 notifyJeuneApte Notifie les jeunes nouvellement éligibles au matching. Faible