From 771f7143847844efe35ba4720f31379533c1eb79 Mon Sep 17 00:00:00 2001 From: Thomas Hallock Date: Sun, 22 Feb 2026 10:34:11 -0600 Subject: [PATCH] Fix error handling in embedding worker: capture actual exception message The except clause wasn't binding the exception to a variable, so str(Exception) stored the class name "" instead of the actual error message. Now properly captures `as e` and stores str(e). Co-Authored-By: Claude Opus 4.6 --- src/haunt_fm/services/embedding_worker.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/haunt_fm/services/embedding_worker.py b/src/haunt_fm/services/embedding_worker.py index 991e820..7c4f2f6 100644 --- a/src/haunt_fm/services/embedding_worker.py +++ b/src/haunt_fm/services/embedding_worker.py @@ -119,14 +119,14 @@ async def run_worker(): try: await _process_track(session, track) logger.info("Embedded: %s - %s", track.artist, track.title) - except Exception: + except Exception as e: logger.exception("Failed to embed %s - %s", track.artist, track.title) await session.execute( update(Track) .where(Track.id == track.id) .values( embedding_status="failed", - embedding_error=str(Exception), + embedding_error=str(e), ) ) await session.commit()