[135] La grille de la journée en cours s'arrête aux minutes écoulées #142
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!142
Loading…
Reference in a new issue
No description provided.
Delete branch "lenaic/135-grille-journee-en-cours"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ferme #135.
Le défaut
grille_du_jour()rendaitrange(MINUTES_PAR_JOUR), soit 1440 minutes quelle quesoit l'heure. Ce nombre devient
minutes_attendues, dénominateur detaux_de_trous, que le garde-fou du §11 refuse au delà de 30 %.Les minutes pas encore arrivées comptaient donc comme manquantes. Ce matin à
7 h 18 UTC :
alors que la collecte est intacte : 439 objets bronze par site pour 438
minutes écoulées depuis minuit, 1024 passes du collecteur, toutes à 7 sites sur
7, zéro erreur.
Le lanceur est prévu pour tourner toutes les heures sur la journée courante. Le
job ne pouvait donc jamais réussir avant 17 h UTC, et le seau
silverestresté à zéro objet depuis le déploiement du #34.
Ce que fait la correction
minutes_attendues(jour, instant)rend 1440 pour une journée révolue et lesseules minutes écoulées pour la journée en cours. La minute en cours est exclue,
le collecteur relevant à la minute.
La normalisation passe par
a_la_minute, pas par unastimezonedirect. Unhorodatage naïf y serait présumé local : deux heures de grille de trop sur un
serveur en UTC+2, et le défaut rouvert sur les deux premières heures de chaque
journée.
disponibilite_jourgagne une colonnejournee_complete. Sans elle une ligne à32 % de disponibilité se lit comme une journée catastrophique alors qu'elle est
simplement en cours, et un entraînement la prendrait pour une journée finie.
Le trou trouvé en me relisant
La passe de 23 h écrit jusqu'à 22 h 59, et celle de minuit porte déjà sur le jour
suivant : la dernière heure de chaque journée n'aurait jamais été écrite.
Le second commit corrige ça. À minuit la passe ferme la veille, seul moment où la
journée d'avant est complète. Un
--jourexplicite n'est jamais réinterprété.Éprouvé
Quinze cas ajoutés. Onze virent au rouge quand on réintroduit le défaut dans
grille.py, vérifié dans les deux sens. Les autres couvrent ce que la correctionne doit pas casser :
silver_run_idetprocessed_atmis à part ;Les contextes de test dataient la passe du jour même, ce qui donnait des grilles
partielles partout. Ils passent au lendemain, situation d'un rejeu.
178 passed,ruffetmypypropres.Vérification en production, sans rien polluer
La passe manuelle de ce matin, seuil desserré et écriture détournée vers un seau
silver-essai, a produit 10 080 lignes sur 7 sites, trois tables Parquet,imputation comprise. Le seau
silverde production est resté à 0 objet.Ce que cette demande ne fait pas
Elle ne planifie rien : le job n'est appelé par aucune crontab, et deux obstacles
empêchent d'en poser une. C'est le #136, à fusionner après celle-ci.