From 8aea4532d1d1a15d9b99552c9e5e2ec8b2efcd4f Mon Sep 17 00:00:00 2001 From: Asna Assalam Date: Wed, 8 Jul 2026 15:52:28 +0530 Subject: [PATCH 1/2] fix: run blocking verify calls in threadpool Moves verify_repo and _scan_repo_dir calls in the /verify endpoint to run_in_threadpool so they no longer block the event loop while processing. Fixes #224. --- backend/app/main.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/app/main.py b/backend/app/main.py index 66168de..8a26693 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -920,7 +920,7 @@ async def verify( repo_dir = _maybe_use_single_top_folder(repo_dir) - result = verify_repo(repo_dir) + result = await run_in_threadpool(verify_repo, repo_dir) if baseline_job_id is not None: try: @@ -931,8 +931,10 @@ async def verify( baseline_job_id = baseline_job_id or job_id baseline_findings = await get_baseline_findings(baseline_job_id) - _, _, _, _, findings = _scan_repo_dir( - repo_dir, job_dir=job_dir, raw_dir_name="raw_verify" + _, _, _, _, findings = await run_in_threadpool( + functools.partial( + _scan_repo_dir, repo_dir, job_dir=job_dir, raw_dir_name="raw_verify", + ) ) current_findings = {finding_key(f) for f in findings} From 0ab595ebe1d869d682941826372d100fd7e2ca42 Mon Sep 17 00:00:00 2001 From: Asna Assalam Date: Wed, 8 Jul 2026 19:58:17 +0530 Subject: [PATCH 2/2] style: fix ruff formatting --- backend/app/main.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/app/main.py b/backend/app/main.py index 8a26693..5624710 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -933,7 +933,10 @@ async def verify( _, _, _, _, findings = await run_in_threadpool( functools.partial( - _scan_repo_dir, repo_dir, job_dir=job_dir, raw_dir_name="raw_verify", + _scan_repo_dir, + repo_dir, + job_dir=job_dir, + raw_dir_name="raw_verify" ) )