optimizations
This commit is contained in:
29
app/Console/Commands/BackfillArtworkVectorIndexCommand.php
Normal file
29
app/Console/Commands/BackfillArtworkVectorIndexCommand.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Jobs\BackfillArtworkVectorIndexJob;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
final class BackfillArtworkVectorIndexCommand extends Command
|
||||
{
|
||||
protected $signature = 'artworks:vectors-repair {--after-id=0 : Resume after this artwork id} {--batch=200 : Batch size for resumable fan-out} {--public-only : Repair only public, approved, published artworks} {--stale-hours=0 : Repair only artworks never indexed or older than this many hours}';
|
||||
|
||||
protected $description = 'Queue resumable vector gateway repair for artworks that already have local embeddings';
|
||||
|
||||
public function handle(): int
|
||||
{
|
||||
$afterId = max(0, (int) $this->option('after-id'));
|
||||
$batch = max(1, min((int) $this->option('batch'), 1000));
|
||||
$publicOnly = (bool) $this->option('public-only');
|
||||
$staleHours = max(0, (int) $this->option('stale-hours'));
|
||||
|
||||
BackfillArtworkVectorIndexJob::dispatch($afterId, $batch, $publicOnly, $staleHours);
|
||||
|
||||
$this->info('Queued artwork vector repair (after_id=' . $afterId . ', batch=' . $batch . ', public_only=' . ($publicOnly ? 'yes' : 'no') . ', stale_hours=' . $staleHours . ').');
|
||||
|
||||
return self::SUCCESS;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user