You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
- Replace iterating DashMap check with atomic DashSet insert in create_job to eliminate the race condition where double-click could create two concurrent jobs for the same user - Add release_user method called at end of generation task (normal, timeout, and panic paths) so the generating slot is always freed - Wrap run_generation in tokio::time::timeout(900s) to prevent hung LLM calls from blocking the generation slot forever - Spawn a second task to await the JoinHandle and call release_user + send error event if the generation task panics, preventing SSE clients from hanging indefinitely - Update cleanup_expired to also remove users from generating_users set - Update tests to call release_user after completion/error to match new contract Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
3 months ago | |
|---|---|---|
| .. | ||
| db | 3 months ago | |
| handlers | 3 months ago | |
| middleware | ||
| models | 3 months ago | |
| services | 3 months ago | |
| util | ||
| app_state.rs | ||
| cli.rs | ||
| config.rs | ||
| errors.rs | ||
| lib.rs | ||
| logging.rs | ||
| main.rs | ||
| router.rs | 3 months ago | |