Previously /api/prescreen/batch blocked for 4-10 minutes waiting for Replicate/ DeepSeek, causing browser connection timeout and zero results saved. - Phase 1 (HTTP check) runs synchronously and saves results immediately - Phase 2 (DeepSeek classify) fires as asyncio.create_task and runs in background - Response is returned to client as soon as phase 1 completes (~30-90s) - Frontend toast shows "classifying N in background" so user knows niche/type will appear shortly without waiting - Each DeepSeek sub-batch saves independently so partial results are preserved Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
14 KiB
14 KiB