CLI
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> هو جذر التخزين الذي فُتحت به المحركات، أي المسار الذي تعيده StorageRoot::resolve(): المجلد الأساسي مضافاً إليه مساحة الاسم. ويكون المخزن المفتوح ضمن StorageRoot::resolve(__DIR__ . '/var/storh', 'app') موجوداً في var/storh/app:
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
توجيه الأوامر إلى المجلد الأساسي وحده (var/storh) يشير إلى مجموعة غير موجودة بعد، لذا تعرض الأوامر مجموعة فارغة بدلاً من الإخفاق.
يتطلب vendor/bin/storh الإصدار 0.5.2 من storh أو أحدث عند تثبيت storh كتبعية. كانت الإصدارات الأقدم تبحث فقط عن محمّل Composer التلقائي في مجلد vendor/ الخاص بالحزمة، وتفشل بخطأ require.
يطبع CLI قيمة JSON ثابتة لاستخدامها في مهام cron وفحوصات سلامة النشر. تكون المجموعة افتراضياً default؛ ويكون المحرك افتراضياً doc لـstats وverify وreindex، وlog لـcompact.
أساليب الصيانة التي تستند إليها الأوامر
تتيح جميع المحركات أساليب الصيانة التي يستدعيها CLI:
$store->stats();
$store->health();
$store->verify();
$store->repair();
يضيف DocStore:
$docs->reindex();
$docs->compact(); // no-op report for API symmetry
يضيف SegmentedLog:
$log->compact();
$log->recover();
$log->state_index();
بالنسبة إلى DocStore، يتحقق verify() من تحليل السجلات بنجاح ومن مطابقة فهارس المساواة والنطاق والمركبة لفحص كامل للسجلات. ويعزل repair() ملفات السجلات التالفة ضمن .storh/corrupt/، ويعيد بناء الفهارس من السجلات الصالحة.
بالنسبة إلى SegmentedLog، يفك verify() ترميز أسطر المقاطع ويقارن فهرس الحالة المشتق الحالي بإعادة تشغيل جديدة للمقاطع. ويعيد repair() بناء الحالة المشتقة ويبتّر الأسطر اللاحقة غير المكتملة.
بالنسبة إلى Queue، يفك verify() ترميز كل حدث دائم ويقارن حالات الانتظار والمعالجة والإنجاز والحمولة وترتيب المطالبة بإعادة تشغيل جديدة لـqueue.log. ويعيد repair() بناء حالة قائمة الانتظار من السجل، ويعيد إدراج المهام التي انتهت مهلة معالجتها.