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> is de opslagroot waarmee de engines zijn geopend, het pad dat StorageRoot::resolve() retourneert: de basismap plus de namespace. Een store die onder StorageRoot::resolve(__DIR__ . '/var/storh', 'app') is geopend, bevindt zich onder 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
Alleen de basismap doorgeven (var/storh) laat de commando's verwijzen naar een collectie die nog niet bestaat, zodat ze een lege collectie melden in plaats van een foutmelding te geven.
vendor/bin/storh vereist storh 0.5.2 of later wanneer storh als afhankelijkheid is geïnstalleerd. Eerdere versies zochten alleen naar de Composer-autoloader in de eigen vendor/-map van het pakket en gaven een require-fout.
CLI drukt stabiele JSON af, zodat het vanuit cron-taken en statuscontroles voor implementaties kan worden gebruikt. De collectie is standaard default; de engine is standaard doc voor stats, verify en reindex, en log voor compact.
Onderhoudsmethoden die achter de commando's zitten
Alle engines bieden de onderhoudsmethoden aan die door CLI worden aangestuurd:
$store->stats();
$store->health();
$store->verify();
$store->repair();
DocStore voegt toe:
$docs->reindex();
$docs->compact(); // no-op report for API symmetry
SegmentedLog voegt toe:
$log->compact();
$log->recover();
$log->state_index();
Voor DocStore controleert verify() of records correct worden geparseerd en of gelijkheids-, bereik- en samengestelde indexen overeenkomen met een volledige scan van records. repair() zet beschadigde recordbestanden in quarantaine onder .storh/corrupt/ en bouwt indexen opnieuw op uit geldige records.
Voor SegmentedLog decodeert verify() de segmentregels en vergelijkt de huidige afgeleide statusindex met een nieuwe replay van de segmenten. repair() bouwt de afgeleide status opnieuw op en kapt onvolledige afsluitende regels af.
Voor Queue decodeert verify() elke duurzame gebeurtenis en vergelijkt het de status van wachtrij, verwerking, voltooiing, payload en claimvolgorde met een nieuwe queue.log-replay.
repair() bouwt de queuestatus opnieuw op uit het log en plaatst verlopen verwerkingstaken terug in de wachtrij.