Pāriet uz saturu

CLI

Apvalks
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> ir krātuves saknes direktorija, ar kuru tika atvērtas programmas; tas ir ceļš, ko atgriež StorageRoot::resolve(): bāzes direktorija kopā ar nosaukumvietu. Krātuve, kas atvērta zem StorageRoot::resolve(__DIR__ . '/var/storh', 'app'), atrodas zem var/storh/app:

Apvalks
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

Norādot tikai bāzes direktoriju (var/storh), komandas tiek novirzītas uz kolekciju, kas vēl nepastāv, tāpēc tās kļūdas vietā ziņo par tukšu kolekciju.

vendor/bin/storh nepieciešams storh 0.5.2 vai jaunāks, ja storh ir instalēts kā atkarība. Iepriekšējās versijas meklēja Composer autoloader tikai pakotnes vendor/ direktorijā un beidzās ar kļūdu require.

CLI izvada stabilu JSON, ko var izmantot cron uzdevumos un izvietošanas stāvokļa pārbaudēs. Kolekcijas noklusējuma vērtība ir default; programmas noklusējuma vērtība ir doc šādām sistēmām: stats, verify un reindex, bet log — compact.

Komandu izmantotās uzturēšanas metodes

Visām programmām ir pieejamas uzturēšanas metodes, ko izmanto CLI:

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

DocStore papildus nodrošina:

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

SegmentedLog papildus nodrošina:

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

DocStore gadījumā verify() pārbauda, vai ieraksti tiek pareizi parsēti un vai vienādības, diapazona un saliktie indeksi atbilst pilnai ierakstu skenēšanai. repair() ievieto bojātos ierakstu failus karantīnā mapē .storh/corrupt/ un atjauno indeksus no derīgajiem ierakstiem.

SegmentedLog gadījumā verify() atkodē segmentu rindas un salīdzina pašreizējo atvasināto stāvokļa indeksu ar atkārtotu segmentu nolasīšanu no jauna. repair() atjauno atvasināto stāvokli un saīsina nepilnīgās beigu rindas.

Queue gadījumā verify() atkodē katru noturīgo notikumu un salīdzina gaidošo, apstrādājamo un pabeigto uzdevumu, kā arī datu un pieprasījumu secības stāvokli ar atkārtotu queue.log nolasīšanu no jauna. repair() atjauno rindas stāvokli no žurnāla un atkārtoti ievieto rindā uzdevumus, kuru apstrādei atvēlētais laiks ir beidzies.