[Mineur] _energy_lock tenue pendant tout le poll (10-20 s) : contention du consommateur stream #103
Labels
No labels
v1.0 · bloquant
v1.0 · majeur
v1.0 · mineur
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mat/homeassistant-comwatt#103
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problème
coordinator.py:225-227: le lock est pris autour de l'executor job complet (_fetch_all≈ 10-20 s). Chaque poll gèle le traitement des bursts (_consume→async_integrate_live_energy→ lock) pendant toute la durée ; les bursts s'accumulent dans une queue non bornée (stream.py:135).L'intégration trapézoïdale supporte le gap, donc l'impact fonctionnel est faible, mais c'est de la contention gratuite.
Recommandation
_energy_stateet de la sauvegarde, pas des appels réseau.Queue(maxsize=…)+ drop-oldest côté producteur.Constaté lors de la review de code pré-v1.0 (v0.8.1).