Implement a caching mechanism #28

Merged
krzysiej merged 1 commits from feature/cache into master 2025-05-14 12:45:58 +02:00
2 changed files with 5 additions and 7 deletions

View File

@@ -42,8 +42,8 @@ class CacheWarmCommand extends Command
$progress = new ProgressBar($output); $progress = new ProgressBar($output);
$progress->start(); $progress->start();
$products = Product::with([ $products = Product::with([
'price' => fn($query) => $query->orderBy('created_at', 'desc'), 'price' => fn($query) => $query->orderByDesc('created_at'),
'stock' => fn($query) => $query->orderBy('created_at', 'desc'), 'stock' => fn($query) => $query->orderByDesc('created_at'),
])->get(); ])->get();
$progress->setMaxSteps(count($products)); $progress->setMaxSteps(count($products));

View File

@@ -34,14 +34,12 @@ class Kernel extends BaseKernel
'secret' => 'S0ME_SECRET' 'secret' => 'S0ME_SECRET'
]); ]);
$services = $container->services()->defaults()->autowire()->autoconfigure(); $services = $container->services()->defaults()->autowire()->autoconfigure();
$services->load('Krzysiej\\RyobiCrawler\\Controller\\', __DIR__ . '/Controller/*'); $services->load('Krzysiej\\RyobiCrawler\\', __DIR__ )
$services->load('Krzysiej\\RyobiCrawler\\Command\\', __DIR__ . '/Command/*')->tag('console.command'); ->exclude('../src/{Models,Twig,Kernel.php}');
$services->set('twig.extension.cache', AppExtension::class)->tag('twig.extension'); $services->set('twig.extension.cache', AppExtension::class)->tag('twig.extension');
$services->set(CacheExtension::class)->tag('twig.extension'); $services->set(CacheExtension::class)->tag('twig.extension');
$services->set(FilesystemAdapter::class)->args([ $services->set(FilesystemAdapter::class)->args([
'', // namespace '$directory' => __DIR__ . '/../var/cache/twig_blocks'
0, // default lifetime
__DIR__ . '/../var/cache/twig_blocks' // custom path
]); ]);
$services->set('twig.runtime.cache', CacheRuntime::class)->args([new Reference(FilesystemAdapter::class)])->tag('twig.runtime'); $services->set('twig.runtime.cache', CacheRuntime::class)->args([new Reference(FilesystemAdapter::class)])->tag('twig.runtime');
} }