Pereiti prie turinio

CLI

Shell
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> yra saugyklos šakninis katalogas, su kuriuo atidaryti varikliai; tai kelias, kurį grąžina StorageRoot::resolve(): bazinis katalogas ir vardų sritis. Po StorageRoot::resolve(__DIR__ . '/var/storh', 'app') atidaryta saugykla yra aplanke var/storh/app:

Shell
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

Nurodžius tik bazinį katalogą (var/storh), komandos nukreipiamos į dar neegzistuojančią kolekciją, todėl jos pateikia tuščią kolekciją, o ne klaidą.

vendor/bin/storh reikia storh 0.5.2 ar naujesnės versijos, kai storh įdiegta kaip priklausomybė. Ankstesnės versijos ieškojo tik Composer autoloader paketo vendor/ kataloge ir pateikdavo require klaidą.

CLI pateikia stabilią JSON, todėl ją galima naudoti cron užduotyse ir diegimo būklės patikrose. Numatytoji kolekcija yra default; numatytasis variklis yra doc, skirtas stats, verify ir reindex, o log – skirtas compact.

Priežiūros metodai, kuriuos naudoja komandos

Visi varikliai pateikia priežiūros metodus, kuriuos iškviečia CLI:

PHP
$store->stats();
$store->health();
$store->verify();
$store->repair();

DocStore papildomai pateikia:

PHP
$docs->reindex();
$docs->compact(); // no-op report for API symmetry

SegmentedLog papildomai pateikia:

PHP
$log->compact();
$log->recover();
$log->state_index();

DocStore atveju verify() tikrina, ar įrašai tinkamai išanalizuojami ir ar lygybės, intervalo bei sudėtiniai indeksai sutampa su visų įrašų nuskaitymo rezultatais. repair() sugadintų įrašų failus perkelia į karantiną, aplanke .storh/corrupt/, ir atkuria indeksus iš tinkamų įrašų.

SegmentedLog atveju verify() dekoduoja segmentų eilutes ir palygina dabartinį išvestinės būsenos indeksą su naujai atkurtu segmentų pakartojimu. repair() atkuria išvestinę būseną ir nukerpa nutrūkusias paskutines eilutes.

Queue atveju verify() dekoduoja kiekvieną patvarų įvykį ir palygina laukiančių, vykdomų ir užbaigtų užduočių būseną, duomenis bei paėmimo tvarką su naujai atkurtu queue.log pakartojimu. repair() atkuria eilės būseną iš žurnalo ir grąžina į eilę užstrigusias vykdomas užduotis.