Le TUI de suivi laggait à 30 VM et se figeait quand l'I/O ralentissait (disque plein / logs effacés). Cause : à chaque tick (1 s) on lisait le fichier log ENTIER de CHAQUE VM pour le statut + on relisait tout le log sélectionné, en synchrone sur la boucle d'événements Textual. Corrections : - read_status ne lit que les 4 derniers Ko (le marqueur de sortie est sur la dernière ligne) : un log de 2 Mo passe de « tout lire » à 0,1 ms. - _load_selected_log lit de façon INCRÉMENTALE (seek à l'offset) au lieu de relire tout le fichier. - Les VM TERMINÉES ne sont plus relues (cache _final). - _tick_table (2 s) et _tick_log (1 s) séparés et PROTÉGÉS par try/except : une erreur I/O transitoire (disque plein, log supprimé) ne tue plus la boucle -> l'interface reste réactive aux touches. - RichLog borné (max_lines=5000). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| qemu_install_monitor.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| source_todo.sh | ||
| todo.json | ||
| todo.py | ||
| todo_example.json | ||
| todo_file_browser.py | ||
| todo_i18n.py | ||
| todo_upgrade.py | ||
| version_manager.py | ||
TODO is an assistant robot to use ERPLibre
Execute it with ./script/todo/todo.py or make todo.
For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.