optimize auto reload uvicornserver load new vector libs if changed by py
This commit is contained in:
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Command;
|
||||
|
||||
use App\Index\IndexMetaManager;
|
||||
use App\Tag\TagNdjsonExporter;
|
||||
use App\Tag\TagVectorIndexBuilder;
|
||||
use Symfony\Component\Console\Attribute\AsCommand;
|
||||
@@ -20,6 +21,7 @@ final class TagsRebuildCommand extends Command
|
||||
public function __construct(
|
||||
private readonly TagNdjsonExporter $exporter,
|
||||
private readonly TagVectorIndexBuilder $builder,
|
||||
private readonly IndexMetaManager $metaManager,
|
||||
) {
|
||||
parent::__construct();
|
||||
}
|
||||
@@ -27,15 +29,32 @@ final class TagsRebuildCommand extends Command
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int
|
||||
{
|
||||
try {
|
||||
// -----------------------------------------
|
||||
// 1) Export tags.ndjson
|
||||
// -----------------------------------------
|
||||
$export = $this->exporter->export();
|
||||
$output->writeln('<info>1/2 Exported tags.ndjson</info>');
|
||||
|
||||
$output->writeln('<info>1/3 Exported tags.ndjson</info>');
|
||||
$output->writeln('Path: ' . $export['path']);
|
||||
$output->writeln('Tags: ' . $export['tags']);
|
||||
$output->writeln('Lines: ' . $export['lines']);
|
||||
$output->writeln('Bytes: ' . $export['bytes']);
|
||||
|
||||
// -----------------------------------------
|
||||
// 2) Build FAISS tag index
|
||||
// -----------------------------------------
|
||||
$this->builder->build();
|
||||
$output->writeln('<info>2/2 Built vector_tags.index</info>');
|
||||
|
||||
$output->writeln('<info>2/3 Built vector_tags.index</info>');
|
||||
|
||||
// -----------------------------------------
|
||||
// 3) Enterprise Commit Marker
|
||||
// -----------------------------------------
|
||||
$this->metaManager->touchRuntime([
|
||||
'last_tags_rebuild_at' => (new \DateTimeImmutable())->format(DATE_ATOM),
|
||||
]);
|
||||
|
||||
$output->writeln('<info>3/3 Runtime commit marker updated</info>');
|
||||
} catch (\Throwable $e) {
|
||||
$output->writeln('<error>ERROR: ' . $e->getMessage() . '</error>');
|
||||
return Command::FAILURE;
|
||||
|
||||
Reference in New Issue
Block a user