Gå til indhold

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> er lagerroden, som motorerne blev åbnet med, altså stien StorageRoot::resolve() returnerer: basismappen plus navnerummet. Et lager åbnet under StorageRoot::resolve(__DIR__ . '/var/storh', 'app') ligger 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

Hvis du kun angiver basismappen (var/storh), peger kommandoerne på en samling, der endnu ikke findes, så de rapporterer en tom samling i stedet for at fejle.

vendor/bin/storh kræver storh 0.5.2 eller nyere, når storh er installeret som afhængighed. Tidligere versioner søgte kun efter Composer-autoloaderen i pakkens egen vendor/-mappe og fejlede med en require-fejl.

CLI udskriver stabile JSON, så den kan bruges fra cron-job og sundhedstjek ved udrulning. Samlingen er som standard default; motoren er som standard doc for stats, verify og reindex, og log for compact.

Vedligeholdelsesmetoder bag kommandoerne

Alle motorer udstiller de vedligeholdelsesmetoder, som CLI styrer:

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

DocStore tilføjer:

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

SegmentedLog tilføjer:

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

For DocStore kontrollerer verify(), at poster kan parses korrekt, og at ligheds-, område- og sammensatte indekser stemmer overens med en fuld scanning af posterne. repair() sætter korrupte postfiler i karantæne under .storh/corrupt/ og genopbygger indekser ud fra gyldige poster.

For SegmentedLog afkoder verify() segmentlinjer og sammenligner det aktuelle afledte tilstandsindeks med en ny afspilning af segmenterne. repair() genopbygger den afledte tilstand og afkorter afbrudte afsluttende linjer.

For Queue afkoder verify() alle varige hændelser og sammenligner tilstandene for afventende, igangværende og færdige job, payload, samt rækkefølgen af claims med en ny afspilning af queue.log. repair() genopbygger køtilstanden fra loggen og sætter job, der har overskredet behandlingstiden, tilbage i køen.