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> je koren shrambe, s katerim so bili odprti mehanizmi, in pot, ki jo vrne StorageRoot::resolve(): osnovni imenik in imenski prostor. Shramba, odprta pod StorageRoot::resolve(__DIR__ . '/var/storh', 'app'), je v 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
Če podate samo osnovni imenik (var/storh), ukazi ciljajo zbirko, ki še ne obstaja, zato namesto napake poročajo o prazni zbirki.
vendor/bin/storh potrebuje storh 0.5.2 ali novejšo različico, ko je kot odvisnost nameščen storh. Prejšnje različice so iskale samo nalagalnik Composer v lastnem imeniku vendor/ paketa in javile napako require.
CLI izpiše stabilen JSON, zato ga je mogoče uporabljati v opravilih cron in preverjanjih zdravja pri uvajanju. Privzeta zbirka je default; privzeti mehanizem je doc za stats, verify in reindex ter log za compact.
Vzdrževalne metode, ki jih uporabljajo ukazi
Vsi mehanizmi izpostavljajo vzdrževalne metode, ki jih uporablja CLI:
$store->stats();
$store->health();
$store->verify();
$store->repair();
DocStore doda:
$docs->reindex();
$docs->compact(); // no-op report for API symmetry
SegmentedLog doda:
$log->compact();
$log->recover();
$log->state_index();
Pri DocStore verify() preveri, ali se zapisi pravilno razčlenijo in ali se indeksi enakosti, razponov in sestavljeni indeksi ujemajo s celotnim pregledom zapisov. repair() premakne poškodovane datoteke zapisov v karanteno pod .storh/corrupt/ in znova zgradi indekse iz veljavnih zapisov.
Pri SegmentedLog verify() dekodira vrstice segmentov in primerja trenutni izpeljani indeks stanja z novim predvajanjem segmentov. repair() znova zgradi izpeljano stanje in odreže odtrgane zadnje vrstice.
Pri Queue verify() dekodira vsak trajni dogodek ter primerja stanje čakanja, obdelave, dokončanja, vsebine in vrstnega reda prevzemov z novim predvajanjem queue.log.
repair() znova zgradi stanje čakalne vrste iz dnevnika in opravila, ki se obdelujejo predolgo, vrne v čakalno vrsto.