Vai al contenuto

Schema job e database

Stati job

Stato Significato
queued In attesa nel worker
running Elaborazione in corso
completed Trascrizione (e riassunto se richiesto) terminati
failed Errore irreversibile nella pipeline
cancelled Annullato dall'utente (solo da queued)

Fasi (phase)

Durante running, la pipeline aggiorna phase e progress_pct:

Fase Descrizione
idle Iniziale
extract Estrazione audio da video
transcribe ASR NeMo
summarize Riassunto
export Scrittura file finali
done Completato

Tabella SQLite jobs

File: data/output/jobs/queue.db

Colonna Tipo Descrizione
id TEXT PK YYYYMMDD_HHMMSS_stem
stem TEXT Nome file senza estensione
source_name TEXT Nome file originale
created_at TEXT ISO timestamp creazione
output_dir TEXT Path assoluto cartella job
input_path TEXT Path copia sorgente nel job
status TEXT Stato corrente
phase TEXT Fase pipeline
progress_pct REAL 0–100
progress_message TEXT Messaggio UI
queued_at TEXT Accodamento
started_at TEXT Inizio elaborazione
finished_at TEXT Fine (successo o errore)
error TEXT Errore pipeline
has_summary INTEGER 1 se riassunto salvato
summary_requested INTEGER 1 se richiesto
summary_error TEXT Errore solo riassunto
transcript_chars INTEGER Lunghezza testo
model_name TEXT Modello NeMo usato
device TEXT cpu / cuda
summary_mode TEXT extractive / abstractive
summary_length TEXT auto / short / normal / detailed

Indici: idx_jobs_status, idx_jobs_created.

File per job

Cartella: data/output/jobs/YYYYMMDD_HHMMSS_stem/

File Contenuto
source.* Copia file caricato
job.json Mirror JSON del record SQLite
trascrizione.txt Testo completo
sottotitoli.srt Sottotitoli con timestamp
riassunto.txt Riassunto (se generato)
work/ Temporanei (WAV, chunk) — può restare

ID job

Formato: {timestamp}_{stem_sanitized}

Esempio: 20260628_143022_campione-italiano-lungo

Lo stem è troncato e ripulito da caratteri non sicuri per il filesystem.

Migrazione

All'avvio, se esiste il vecchio index.json e queue.db è vuoto, i record vengono importati automaticamente.