Przejdź do treści

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.

Powiązane