video-accessibility/backend/app/tasks
michael 77be93b526 perf: parallelize video-native translations with asyncio.gather
Video-native translation mode now processes all target languages in parallel
using asyncio.gather() with a semaphore (max 3 concurrent) for rate limiting.
This significantly reduces total translation time when multiple languages
are selected.

- Add MAX_CONCURRENT_VIDEO_NATIVE constant for rate limiting
- Refactor video-native path to use parallel coroutines
- Keep traditional VTT translation mode sequential
- Handle per-language errors without stopping other translations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 09:21:07 -06:00
..
__pycache__ removed mongodb change stream monitoring, added global websockets monitoring for notifications, broke symmetry between toasts and persistent notifications (and refined which notifications get sent and how) 2025-08-25 15:48:18 -05:00
__init__.py feat: add dedicated TTS worker with parallel per-cue synthesis 2025-12-30 14:23:11 -06:00
ffmpeg_operations.py feat: add dedicated ffmpeg queue to prevent server overload 2025-12-26 17:56:23 -06:00
ingest_and_ai.py fix: broadcast WebSocket updates for ingesting and ai_processing status 2025-12-27 07:38:25 -06:00
notify.py added websockets for live job status updates with toast notifications on job list page 2025-08-24 19:41:23 -05:00
render_accessible_video.py refactor: rewrite pause point refinement algorithm with ordered logic 2025-12-29 08:19:03 -06:00
translate_and_synthesize.py perf: parallelize video-native translations with asyncio.gather 2026-01-01 09:21:07 -06:00
tts_synthesis.py feat: add dedicated TTS worker with parallel per-cue synthesis 2025-12-30 14:23:11 -06:00
whisper_transcribe.py fix: use dedicated whisper worker with FFmpeg dispatch pattern 2025-12-27 08:53:53 -06:00