One Semaphore(2) gated every compile, so while two ESP32 builds ran (cmake + ninja, minutes on a cold cache) an Arduino Uno blink sat 'compiling' for as long as they took. Two lanes now: heavy (ESP-IDF, still 2 — the VPS load constraint is real) and light (arduino-cli boards, 3), plus a console line when a job is queued so the wait is visible instead of looking like a hung build. The per-target lock that keeps concurrent builds out of one ESP-IDF build dir is unchanged. |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| database | ||
| mcp | ||
| models | ||
| schemas | ||
| services | ||
| utils | ||
| __init__.py | ||
| main.py | ||