[Mineur] async_stop ne ferme pas le websocket : thread executor orphelin jusqu'à 30 s #104
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#104
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
stream.py:221-236: l'annulation de_stream_siten'arrête pas le thread executor (leawait async_add_executor_jobest annulé, pas le job) : le thread reste bloqué dansws.recv()jusqu'au timeout 30 s de la lib, puis pousse encore des messages dans la queue morte —call_soon_threadsafesur une loop arrêtée peut lever unRuntimeErrornon attrapé dans le thread → « exception was never retrieved » dans les logs. À l'arrêt d'HA, le shutdown de l'executor peut être retardé d'autant.Recommandation
threading.Eventchecked par la lib) pour le fermer depuisasync_stop.call_soon_threadsafeet unws.settimeoutcourt.Constaté lors de la review de code pré-v1.0 (v0.8.1).