nginx 504s a cold ESP-IDF build long before it finishes; Starlette then cancels the handler and the cancellation killed the build subprocess MID-WRITE, leaving truncated .obj files in the persistent per-target build cache - every later build of that target failed with 'ranlib: file truncated' until the cache was wiped (bitten twice on staging the day the P4 lane landed). asyncio.shield lets the build run to completion with a consistent cache; only the response is lost, and the async /start + /status flow remains the right path for long builds. |
||
|---|---|---|
| .. | ||
| app | ||
| board-indexes | ||
| scripts | ||
| sdk | ||
| tests | ||
| .env.example | ||
| Dockerfile | ||
| debug_qemu.py | ||
| mcp_server.py | ||
| mcp_sse_server.py | ||
| requirements.txt | ||