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 | |
|---|---|---|
| .. | ||
| migrations | 3 months ago | |
| src | 3 months ago | |
| tests | 3 months ago | |
| Cargo.lock | ||
| Cargo.toml | ||
| Dockerfile | ||