Repository navigation
fix(audiobook,#1028): suspension auto du monitor d'idle pendant une chaine LLM->TTS - #14415
Merged
Merged
Conversation
…onitor pendant une chaine Residu 2 de l'EPIC (le gesture manuel a ne pas oublier) : sur le livre complet, p3+p4 (~36 min sans appel TTS) laissaient le monitor tuer tts-fishaudio avant p5 (IDLE_TIMEOUT=1200 s ; 385/385 echecs au premier run #14059). run_pipeline suspend maintenant le monitor le temps de la fenetre LLM->TTS et le redemarre en finally (garanti meme si une phase echoue -- sys.exit traverse le context manager). Fail-safe : docker absent / monitor arrete / stop en echec => la chaine continue, au pire avec un WARN (l'etat d'avant etait l'echec silencieux). 6 tests hermetiques (120/120 au total v4) + preuve end-to-end sur le conteneur reel po-2023 : suspendu dans la fenetre (running=false), redemarre apres. Co-Authored-By: Claude-Code <noreply@anthropic.com>
Closed
7 of 8 tasks
Contributor
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grain: MED/genai -- lane myia-po-2023:CoursIA -- prev: LIGHT/docs #14403
Resume
Suspension automatique du sidecar
tts-fishaudio-idle-monitorpendant une chaine LLM->TTS du pipeline v4 audiobook — residu 2 de l'EPIC #1028 (le « geste manuel a ne pas oublier »).Contexte du defaut (#14059) : sur le livre complet, les phases LLM amont p3+p4 durent ~36 min sans aucun appel TTS. Le monitor (IDLE_TIMEOUT=1200 s, economie GPU legitime) tuait
tts-fishaudioavant que p5 n'arrive — 385/385 echecs de chaine au premier run du livre entier.Implementation
v4/idle_monitor.py(nouveau) :chain_needs_suspension(phases)(True si p5 precede d'au moins une phase LLM) +suspended_idle_monitor(phases)context manager :docker stopau debut,docker startgaranti enfinally— meme si une phase echoue (sys.exit(1)derun_pipelinetraverse le context manager, le redemarrage a quand meme lieu).v4/run_pipeline.py: la boucle de phases est enveloppee danswith suspended_idle_monitor(phases):.inspect!= true),stopen echec — la chaine continue TOUJOURS, au pire avec un WARN. L'etat d'avant ce module etait l'echec silencieux de la chaine longue ; on ne trade jamais un echec de chaine contre un echec de suspension.Verification
_dockermonkeypatche) :v4/tests/test_idle_monitor.py— 6/6 nouveaux, 120/120 au total sur04-Applications/v4/tests(pattern d'import detest_canonical.py, aucun docker reel) :chain_needs_suspension(p5 seul / LLM avant p5 / p5 avant LLM / sans p5 / chaine complete)Up 13 hours->[monitor] tts-fishaudio-idle-monitor suspendu pour la fenetre de chaine-> dans la fenetredocker inspect=running=false->[monitor] tts-fishaudio-idle-monitor redemarre->docker psfinal =Up Less than a second.python -m py_compile run_pipeline.py idle_monitor.pyOK.Note de traçabilite (pour ai-01)
L'issue #14188 (les 2 residus de l'EPIC) a ete fermee en citant la PR #14197, qui est un test fixture
pick_idle_grain_cachesans rapport avec le monitor — la moitie « monitor suspension » restait non livree de fait. Ce PR livre cette moitie. L'autre moitie (m4b) etait deja livree par #14224 (84994c9).See #1028 (contribution partielle — l'arbitrage de fermeture de l'EPIC revient au coordinateur : les 2 residus sont desormais livres).
🤖 Generated with Claude Code