Use progress bar to track progress

This commit is contained in:
Krzysztof Płaczek
2024-05-18 21:01:16 +02:00
parent 56fd13c627
commit 584bdcdf89

View File

@@ -3,6 +3,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace Krzysiej\RyobiCrawler\Command; namespace Krzysiej\RyobiCrawler\Command;
use GuzzleHttp\Client; use GuzzleHttp\Client;
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
use Krzysiej\RyobiCrawler\Models\Price; use Krzysiej\RyobiCrawler\Models\Price;
@@ -23,7 +24,7 @@ class ScrapeWebsite extends Command
$capsule = new Capsule; $capsule = new Capsule;
$capsule->addConnection([ $capsule->addConnection([
'driver' => 'sqlite', 'driver' => 'sqlite',
'database' => __DIR__ .'/../../database.sqlite', 'database' => __DIR__ . '/../../database.sqlite',
]); ]);
$capsule->setAsGlobal(); $capsule->setAsGlobal();
$capsule->bootEloquent(); $capsule->bootEloquent();
@@ -37,7 +38,6 @@ class ScrapeWebsite extends Command
$page = 0; $page = 0;
do { do {
$progress->advance(); $progress->advance();
$res = $this->client->request('POST', 'https://pl.ryobitools.eu/api/product-listing/get-products', [ $res = $this->client->request('POST', 'https://pl.ryobitools.eu/api/product-listing/get-products', [
'form_params' => [ 'form_params' => [
"includePreviousPages" => false, "includePreviousPages" => false,
@@ -49,7 +49,7 @@ class ScrapeWebsite extends Command
$page++; $page++;
$responseObject = json_decode($res->getBody()->getContents()); $responseObject = json_decode($res->getBody()->getContents());
$products = $responseObject->products; $products = $responseObject->products;
$progress->setMaxSteps($progress->getMaxSteps()+count($products)); $progress->setMaxSteps($progress->getMaxSteps() + count($products));
foreach ($products as $product) { foreach ($products as $product) {
/** @var Product $productModel */ /** @var Product $productModel */
$productModel = Product::firstOrNew(['skuID' => $product->skuID]); $productModel = Product::firstOrNew(['skuID' => $product->skuID]);
@@ -78,7 +78,6 @@ class ScrapeWebsite extends Command
$progress->finish(); $progress->finish();
$output->writeln(''); $output->writeln('');
$output->writeln('DONE'); $output->writeln('DONE');
return Command::SUCCESS; return Command::SUCCESS;
} }
} }