option('event'); $maxFiles = $this->option('max-files'); $processedTotal = 0; $skippedTotal = 0; $query = Event::query() ->where('photobooth_enabled', true) ->whereNotNull('photobooth_path'); if ($eventId) { $query->whereKey($eventId); } $query->chunkById(25, function ($events) use ($ingestService, $maxFiles, &$processedTotal, &$skippedTotal) { foreach ($events as $event) { $summary = $ingestService->ingest($event, $maxFiles ? (int) $maxFiles : null); $processedTotal += $summary['processed'] ?? 0; $skippedTotal += $summary['skipped'] ?? 0; $this->line(sprintf( 'Event #%d (%s): %d imported, %d skipped', $event->id, $event->slug ?? 'event', $summary['processed'] ?? 0, $summary['skipped'] ?? 0 )); } }); $this->info(sprintf('Photobooth ingest finished. Processed: %d, Skipped: %d', $processedTotal, $skippedTotal)); return self::SUCCESS; } }