Architecture: How to implement parallel task execution for Computer Use?
Documentation for Sessions
🏗️ Architecture: How to implement parallel task execution for Computer Use?
Date: 2026-02-24
Time: 20:48:22 UTC
Session: gspace1-138.19
Agent: backend
Confidence: 92%
Status: ✅ Documented
📋 Decision Context
Question:
How to implement parallel task execution for Computer Use?
Task: Session 140: Parallel task execution for Computer Use
🎯 Decision Made
Chosen:
Per-session sandbox isolation + in-memory concurrency gate + batch endpoint + multi-goal frontend form
Options Considered:
- No alternatives documented
💭 Reasoning
Changed E2B sandbox map key from userId to sessionId so parallel sessions get isolated Firecracker VMs (no desktop action conflicts). Added configurable concurrency limits (20/user, 50 global) via env vars. Batch endpoint accepts up to 10 goals, returns partial success. Frontend multi-goal form supports up to 5 parallel goals. No BullMQ needed (not wired in backend-ai-api, in-memory gate sufficient for single-process). Fixed broken TaskBridgeService.submitParallelTasks() with forkJoin.
📁 Files Involved
apis/backend-ai-api/src/app/infrastructure/services/e2b-desktop.service.tsapis/backend-ai-api/src/app/infrastructure/services/computer-use-loop.service.tsapis/backend-ai-api/src/app/infrastructure/controllers/computer-use.controller.tslibs/libs-ai/vitto-hub/src/lib/services/vitto-api.service.tslibs/libs-ai/vitto-chat/src/lib/services/task-bridge.service.tslibs/libs-ai/vitto-hub/src/lib/components/computer-use-panel/computer-use-panel.component.tslibs/libs-ai/vitto-hub/src/lib/components/computer-use-panel/computer-use-panel.component.htmlapis/backend-vitto-api/src/app/connectivity/infrastructure-client.service.tsdocs/english/Plans/self-hosted-e2b.plan.md
🔗 Related
- Decision ID:
dev_1771966102809_2gbewe1 - Session: 138
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation