Hoppa till innehåll

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> är lagringsroten som motorerna öppnades med, alltså sökvägen som StorageRoot::resolve() returnerar: baskatalogen plus namnrymden. Ett lager som öppnas under StorageRoot::resolve(__DIR__ . '/var/storh', 'app') finns under 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

Om du bara anger baskatalogen (var/storh) riktas kommandona mot en samling som ännu inte finns, så de rapporterar en tom samling i stället för att misslyckas.

vendor/bin/storh kräver storh 0.5.2 eller senare när storh är installerat som ett beroende. Tidigare versioner letade bara efter autoladdaren Composer i paketets egen katalog vendor/ och misslyckades med ett fel av typen require.

CLI skriver ut stabil JSON så att det kan användas i cron-jobb och driftsättningskontroller. Samlingen har standardvärdet default; motorn har standardvärdet doc för stats, verify och reindex, och log för compact.

Underhållsmetoderna bakom kommandona

Alla motorer tillhandahåller underhållsmetoderna som CLI använder:

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

DocStore lägger till:

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

SegmentedLog lägger till:

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

För DocStore kontrollerar verify() att poster kan tolkas korrekt och att jämlikhets-, intervall- och sammansatta index stämmer med en fullständig genomsökning av posterna. repair() sätter skadade postfiler i karantän under .storh/corrupt/ och bygger om index från giltiga poster.

För SegmentedLog avkodar verify() segmentrader och jämför det aktuella härledda tillståndsindexet med en ny uppspelning av segmenten. repair() bygger om det härledda tillståndet och kapar trasiga avslutande rader.

För Queue avkodar verify() varje beständig händelse och jämför väntande, behandlande och slutfört tillstånd, nyttolast och anspråksordning med en ny queue.log-uppspelning. repair() bygger om köstatus från loggen och köar om jobb vars behandlingstid har löpt ut.