CLI
vendor/bin/storh stats <root> [collection] [doc|log|queue]
vendor/bin/storh verify <root> [collection] [doc|log|queue]
vendor/bin/storh compact <root> [collection] [doc|log]
vendor/bin/storh reindex <root> [collection]
<root> è la radice di archiviazione con cui sono stati aperti i motori: è il percorso
restituito da StorageRoot::resolve(), cioè la directory di base più lo spazio dei nomi. Un archivio
aperto in StorageRoot::resolve(__DIR__ . '/var/storh', 'app') si trova in
var/storh/app:
vendor/bin/storh stats var/storh/app pages doc
vendor/bin/storh verify var/storh/app events log
vendor/bin/storh compact var/storh/app events log
vendor/bin/storh reindex var/storh/app pages
Passando solo la directory di base (var/storh), i comandi puntano a una raccolta
che non esiste ancora, quindi mostrano una raccolta vuota invece di generare un errore.
vendor/bin/storh richiede 0.5.2 storh o versione successiva se storh è installato come dipendenza. Le versioni precedenti cercavano solo l'autoloader Composer nella directory vendor/ del pacchetto e generavano un errore require.
CLI stampa dati JSON stabili, utilizzabili nei job cron e nei controlli di integrità del deployment. La raccolta predefinita è default; il motore predefinito è doc per stats, verify e reindex, e log per compact.
Metodi di manutenzione utilizzati dai comandi
Tutti i motori espongono i metodi di manutenzione utilizzati da CLI:
$store->stats();
$store->health();
$store->verify();
$store->repair();
DocStore aggiunge:
$docs->reindex();
$docs->compact(); // no-op report for API symmetry
SegmentedLog aggiunge:
$log->compact();
$log->recover();
$log->state_index();
Per DocStore, verify() verifica che i record vengano analizzati correttamente e che gli indici di uguaglianza, intervallo e composti corrispondano a una scansione completa dei record. repair() mette in quarantena i file di record corrotti in .storh/corrupt/ e ricostruisce gli indici a partire dai record validi.
Per SegmentedLog, verify() decodifica le righe dei segmenti e confronta l'indice dello stato derivato attuale con una nuova riproduzione dei segmenti. repair() ricostruisce lo stato derivato e tronca le righe finali incomplete.
Per Queue, verify() decodifica ogni evento persistente e confronta lo stato degli elementi in attesa, in elaborazione e completati, dei payload e dell'ordine di acquisizione con una nuova riproduzione di queue.log. repair() ricostruisce lo stato della coda dal log e rimette in coda i job in elaborazione scaduti.