İçeriğe geç

CLI

Kabuk
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>, motorların açıldığı depolama köküdür; StorageRoot::resolve() tarafından döndürülen yol, yani temel dizin ile ad alanının birleşimidir. StorageRoot::resolve(__DIR__ . '/var/storh', 'app') altında açılan bir store, var/storh/app altında bulunur:

Kabuk
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

Yalnızca temel dizini (var/storh) geçirmek, komutları henüz var olmayan bir koleksiyona yönlendirir; bu nedenle hata vermek yerine boş bir koleksiyon bildirirler.

vendor/bin/storh, storh bir bağımlılık olarak yüklendiğinde storh 0.5.2 veya sonraki bir sürümü gerektirir. Önceki sürümler yalnızca paketin kendi vendor/ dizinindeki Composer otomatik yükleyicisini arıyor ve require hatası veriyordu.

CLI, JSON çıktısını kararlı biçimde yazar; böylece cron işleri ve dağıtım sağlık denetimlerinde kullanılabilir. Koleksiyon varsayılan olarak default değerini, motor ise stats, verify ve reindex için doc; compact için log değerini kullanır.

Komutların kullandığı bakım metotları

Tüm motorlar, CLI öğesinin kullandığı bakım metotlarını sunar:

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

DocStore şunları ekler:

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

SegmentedLog şunları ekler:

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

DocStore için verify(), kayıtların hatasız ayrıştırıldığını ve eşitlik, aralık ve birleşik dizinlerin tüm kayıtların taranmasıyla eşleştiğini denetler. repair(), bozuk kayıt dosyalarını .storh/corrupt/ altına karantinaya alır ve geçerli kayıtlardan dizinleri yeniden oluşturur.

SegmentedLog için verify(), bölüm satırlarının kodunu çözer ve geçerli türetilmiş durum dizinini yeni bir bölüm tekrar oynatımıyla karşılaştırır. repair() türetilmiş durumu yeniden oluşturur ve sondaki yarım kalmış satırları keser.

Queue için verify() kalıcı her olayın kodunu çözer ve bekleyen, işlenen, tamamlanan, yük ve talep sırası durumlarını yeni bir queue.log tekrar oynatımıyla karşılaştırır. repair() kuyruk durumunu günlükten yeniden oluşturur ve zaman aşımına uğrayan işlenen işleri kuyruğa yeniden ekler.