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> este rădăcina de stocare cu care au fost deschise motoarele, adică acea cale
pe care o returnează StorageRoot::resolve(): directorul de bază plus spațiul de nume. O stocare
deschisă sub StorageRoot::resolve(__DIR__ . '/var/storh', 'app') se află în
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
Transmiterea doar a directorului de bază (var/storh) indică comenzilor o
colecție care încă nu există, astfel că acestea raportează o colecție goală în loc să eșueze.
vendor/bin/storh necesită storh 0.5.2 sau o versiune ulterioară când storh este instalat ca dependență. Versiunile anterioare căutau autoloaderul Composer doar în directorul vendor/ propriu al pachetului și eșuau cu eroarea require.
CLI afișează valori JSON stabile, astfel încât poate fi folosit în sarcini cron și verificări de stare pentru implementare. Colecția implicită este default; motorul implicit este doc pentru stats, verify și reindex, iar pentru compact este log.
Metodele de mentenanță din spatele comenzilor
Toate motoarele expun metodele de mentenanță apelate de CLI:
$store->stats();
$store->health();
$store->verify();
$store->repair();
DocStore adaugă:
$docs->reindex();
$docs->compact(); // no-op report for API symmetry
SegmentedLog adaugă:
$log->compact();
$log->recover();
$log->state_index();
Pentru DocStore, verify() verifică dacă înregistrările sunt analizate corect și dacă indexurile de egalitate, interval și compuse corespund unei scanări complete a înregistrărilor. repair() pune în carantină fișierele de înregistrare corupte în .storh/corrupt/ și reconstruiește indexurile din înregistrările valide.
Pentru SegmentedLog, verify() decodează liniile segmentelor și compară indexul stării derivate curente cu o reluare nouă a segmentelor. repair() reconstruiește starea derivată și trunchiază liniile finale incomplete.
Pentru Queue, verify() decodează fiecare eveniment persistent și compară stările în așteptare, în procesare și finalizate, precum și starea payload-ului și a ordinii de preluare, cu o reluare nouă queue.log. repair() reconstruiește starea cozii din jurnal și repune în coadă sarcinile aflate în procesare al căror timp a expirat.