Etap 16 — Job API: masowe otwieranie¶
Agent SmartConf przejmuje współbieżne otwieranie wielu skrytek (uzupełnianie + inwentaryzacja); kiosk tylko zleca i pollu je.
Co weszło¶
Agent SmartConf (0.3.35)¶
POST /v1/jobs/open { doors[] }→ lista logicznych N;GET /v1/jobs[/{id}]→ poll stanu;POST /v1/jobs/{id}/cancel(queued → skipped).- OpenJobManager zarządza współbieżnością (≤3 LockerBox, 1 DynaBox), kolejką, cyklem
queued→opening→[unlocked]→open→done, re-ryglem i timeoutami (not_opened/not_closed). Payload camelCase.
Kiosk (1.5.26+)¶
- Uzupełnianie + inwentaryzacja przez Job API (nie bezpośrednie open). Auto-retry zgubionych otwarć (tylko LockerBox; DynaBox: prezentacja kolumny = done). Status per skrytka:
queued/opening/unlocked/open/done/failed/timeout/skipped.
Pliki / endpointy¶
- SmartConf:
OpenJobManager.cs,JobEndpoints.cs. - Kiosk:
lib/hardware/open_job.dart,screens/inventory_screen.dart,screens/replenish_screen.dart. POST /v1/jobs/open,GET /v1/jobs[/{id}],POST /v1/jobs/{id}/cancel.
Status¶
Wdrożone (kiosk 1.5.26+, SmartConf 0.3.35). Pełny opis ścieżek → Komunikacja.