Ugrás a tartalomhoz

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]

A(z) <root> az a tárolási gyökérkönyvtár, amellyel a motorokat megnyitották; ez az az útvonal, amelyet a(z) StorageRoot::resolve() ad vissza: az alapkönyvtár és a névtér együtt. A(z) StorageRoot::resolve(__DIR__ . '/var/storh', 'app') alatt megnyitott tár a következő helyen található: 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

Ha csak az alapkönyvtárat adja meg (var/storh), a parancsok egy még nem létező gyűjteményre mutatnak, ezért üres gyűjteményt jeleznek hiba helyett.

A(z) vendor/bin/storh esetén a(z) storh függőségként telepítve a(z) storh 0.5.2 vagy újabb verziója szükséges. A korábbi verziók csak a csomag saját vendor/ könyvtárában keresték a(z) Composer autoloaderét, és require hibával leálltak.

A(z) CLI stabil JSON kimenetet ír, így használható cron feladatokban és telepítési állapotellenőrzésekben. A gyűjtemény alapértéke default; a motor alapértéke stats, verify és reindex esetén doc, compact esetén pedig log.

A parancsok mögött álló karbantartási metódusok

Minden motor közzéteszi azokat a karbantartási metódusokat, amelyeket a(z) CLI meghív:

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

A DocStore további metódusai:

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

A SegmentedLog további metódusai:

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

DocStore esetén a(z) verify() ellenőrzi, hogy a rekordok hibamentesen feldolgozhatók-e, és hogy az egyenlőségi, tartomány- és összetett indexek egyeznek-e a teljes rekordpásztázás eredményével. A(z) repair() karanténba helyezi a sérült rekordfájlokat a(z) .storh/corrupt/ alatt, és érvényes rekordokból újraépíti az indexeket.

SegmentedLog esetén a(z) verify() dekódolja a szegmensorokat, és az aktuális származtatott állapot indexét friss szegmens-újrajátszással veti össze. A(z) repair() újraépíti a származtatott állapotot, és csonkolja a végén félbemaradt sorokat.

Queue esetén a(z) verify() dekódolja az összes tartós eseményt, és a függő, feldolgozás alatt álló, kész állapotot, a hasznos adatot és az igénylési sorrendet friss queue.log-újrajátszással veti össze. A(z) repair() újraépíti a sor állapotát a naplóból, és újra sorba állítja az időtúllépés miatt félbemaradt feldolgozású feladatokat.