Skip to content

Commit 13934a0

Browse files
jeffcrouseclaude
andcommitted
fix: always queue analysis after scan completes
Previously, analysis was only queued if the scan found new/updated/relocated tracks. This meant that if tracks were "unchanged" but still unanalyzed (e.g., after a database cleanup), analysis wouldn't start automatically. Now we always call queue_unanalyzed_tracks() after scan completes, which will find any tracks needing analysis regardless of scan results. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent a443e7a commit 13934a0

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

backend/app/services/tasks.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -355,11 +355,10 @@ async def run_library_scan(full_scan: bool = False) -> dict[str, Any]:
355355
recovered=results.get("recovered", 0),
356356
)
357357

358-
# Queue analysis for unanalyzed tracks (new, updated, or relocated)
359-
# Also catches any tracks that were missed in previous scans
360-
unanalyzed_count = results["new"] + results["updated"] + results.get("relocated", 0)
361-
if unanalyzed_count > 0:
362-
queued_count = await queue_unanalyzed_tracks(limit=max(unanalyzed_count, 500))
358+
# Always queue analysis for any unanalyzed tracks after scan completes
359+
# This catches new/updated/relocated tracks as well as any previously missed
360+
queued_count = await queue_unanalyzed_tracks(limit=500)
361+
if queued_count > 0:
363362
logger.info(f"Queued {queued_count} tracks for analysis")
364363

365364
logger.info(f"Scan complete: {results}")

0 commit comments

Comments
 (0)