Avvio: aprire le camere subito, il primo scatto dopo l'avvio dura ~25 s #108
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Dopo ogni avvio del TMF il primo grab apre la camera GenTL e dura ~25 s (misurato 25/10/2026 su daitarn, Itala camera:601020: 24,76 s); l'operatore pensa che la camera non parta (Adriano 25/10 18:14, pagina misura task 8). Cosa: packaging/windows/avvio.py, dopo avvia_server, un thread che aspetta la porta camera e fa un grab a vuoto per ogni camera configurata (stazioni e acquisizione dei task). Criterio: dopo l'avvio, il primo «Acquisisci» dell'operatore risponde in meno di 1 s.
ESITO: richiesta
RIF: gitea:Adriano/TieMeasureFlow#108
COSA: all'avvio del TMF, packaging/windows/avvio.py apre le camere configurate con un grab a vuoto, in un thread daemon, così il primo «Acquisisci» dell'operatore non aspetta ~25 s.
BASE: ramo lavoro/daitarn-tmf-108 da
249999f, worktree C:/Users/Adriano/lavoro/TieMeasureFlow-108.VERIFICATO (daitarn 25/10/2026):
stations(camera_url, camera_source), oggi (1, ST-DEFAULT, http://127.0.0.1:8765, camera:601020); tabellarecipe_tasks.acquisition_json(JSON con camera_url e camera_source, #97), oggi tutte NULL.MODIFICHE (solo packaging/windows/avvio.py)
camere_da_scaldare(db: Path) -> list[tuple[str, str]]: legge in sola lettura (sqlite3,file:...?mode=ro, come_nessun_utente):stations: le coppie (camera_url, camera_source) entrambe non vuote;recipe_tasks.acquisition_json: le coppie con camera_url e camera_source non vuoti (json.loads; JSON non valido → si salta);Solo le sorgenti che iniziano con "camera:" e non sono "camera:folder" (le altre non aprono hardware).
scalda_camere(db: Path) -> None:_apri_browser_quando_pronto, max ~60 s); se non si apre, log.warning ed esce;{camera_url.rstrip('/')}/camera/grabcon JSON {"source": src, "trigger": "continuo", "timeout_ms": 5000}, timeout 90 s, con urllib.request (niente dipendenze nuove; avvio.py usa già urllib);main, subito dopothread = avvia_server(args.host, dati):threading.Thread(target=scalda_camere, args=(dati / "tmf.db",), daemon=True).start(), con o senza browser.TEST
_porta_apertapatchata a True e urlopen patchato: una chiamata per coppia, URL e body corretti; un'eccezione di urlopen non esce dalla funzione.C:/Users/Adriano/lavoro/TieMeasureFlow-dxfcal/build/venv313/Scripts/python.exe -m pytest packaging/windows/tests -q -p no:cacheproviderdal worktree (se quel venv manca, usare quello indicato in build.ps1). Tutti i test esistenti di test_avvio.py devono restare verdi.NON TOCCARE: src/** , vendor/**, sviluppo.ps1, build.ps1, TieMeasureFlow.iss, il resto di main().
PROVA (Opus): merge, riavvio del TMF, nel log
scaldadella camera:601020 con ~25 s; subito dopo, POST /maker/api/stations/1/camera/grab < 1 s.🔵 daitarn — preso in carico 2026-10-25T17:15:49Z
ramo:
lavoro/daitarn· capacità: build-windows, gpuSoluzione
ESITO: fatto
RIF: gitea:Adriano/TieMeasureFlow#108
COSA: all'avvio avvio.py apre le camere configurate con un grab a vuoto in un thread daemon; il primo «Acquisisci» dell'operatore non aspetta più l'apertura GenTL.
FILE:
Commit
cab419beb2e3867(Sonnet, claude-sonnet-5-5), ramo lavoro/daitarn-tmf-dxfcal pushato.PROVA:
MANCA: nulla. Sul PC fiera vale dall'installazione della build nuova.