Feat: Restructuring MigrateImport, Dispatching a per product job for import
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
namespace Modules\Core\MigrateImport\JudgeMe\Resolvers;
|
||||
|
||||
use Lunar\Models\Product;
|
||||
use Lunar\Models\Url;
|
||||
|
||||
class ProductResolver
|
||||
{
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Core\MigrateImport\JudgeMe;
|
||||
namespace Modules\Core\MigrateImport\JudgeMe\Services;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
+17
-4
@@ -1,12 +1,12 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Core\MigrateImport\JudgeMe;
|
||||
namespace Modules\Core\MigrateImport\JudgeMe\Services;
|
||||
|
||||
use Throwable;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Modules\Core\MigrateImport\Importer;
|
||||
use Modules\Core\MigrateImport\ImportSpec;
|
||||
use Modules\Core\MigrateImport\Contracts\Importer;
|
||||
use Modules\Core\MigrateImport\DTOs\ImportSpec;
|
||||
use Modules\Core\MigrateImport\JudgeMe\Resolvers\ProductResolver;
|
||||
use Modules\Core\MigrateImport\Models\ImportMapping;
|
||||
use Modules\Core\Review\Models\ProductReview;
|
||||
@@ -22,9 +22,22 @@ class JudgeMeExportImporter implements Importer
|
||||
|
||||
public function import(ImportSpec $spec): void
|
||||
{
|
||||
foreach ($this->csvReader->read($spec->filePath) as $row) {
|
||||
$rows = $this->csvReader->read($spec->filePath);
|
||||
$total = count($rows);
|
||||
$imported = 0;
|
||||
|
||||
Log::info('JudgeMe import: starting', ['total' => $total]);
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$this->importReview($row);
|
||||
$imported++;
|
||||
|
||||
if ($imported % 100 === 0) {
|
||||
Log::info('JudgeMe import: progress', ['imported' => $imported, 'total' => $total]);
|
||||
}
|
||||
}
|
||||
|
||||
Log::info('JudgeMe import: finished', ['imported' => $imported, 'total' => $total]);
|
||||
}
|
||||
|
||||
private function importReview(array $row): void
|
||||
Reference in New Issue
Block a user