mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-09 08:21:50 +00:00
fix: catch KeyboardInterrupt in exit cleanup handlers (#3257)
except Exception does not catch KeyboardInterrupt (inherits from BaseException). A second Ctrl+C during exit cleanup aborts pending writes — Honcho observations dropped, SQLite sessions left unclosed, cron job sessions never marked ended. Changed to except (Exception, KeyboardInterrupt) at all five sites: - cli.py: honcho.shutdown() and end_session() in finally exit block - run_agent.py: _flush_honcho_on_exit atexit handler - cron/scheduler.py: end_session() and close() in job finally block Tests exercise the actual production code paths and confirm KeyboardInterrupt propagates without the fix. Co-authored-by: dieutx <dangtc94@gmail.com>
This commit is contained in:
parent
e9e7fb0683
commit
41ee207a5e
4 changed files with 110 additions and 5 deletions
|
|
@ -2274,7 +2274,7 @@ class AIAgent:
|
|||
return
|
||||
try:
|
||||
manager.flush_all()
|
||||
except Exception as exc:
|
||||
except (Exception, KeyboardInterrupt) as exc:
|
||||
logger.debug("Honcho flush on exit failed (non-fatal): %s", exc)
|
||||
|
||||
atexit.register(_flush_honcho_on_exit)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue