This commit is contained in:
Jürgen Mummert
2026-01-05 11:05:35 +01:00
parent ac001fb53c
commit 7dc30c435f
+23 -2
View File
@@ -1,22 +1,43 @@
<?php <?php
namespace MummertMedia\ContaoMeilisearchBundle\Cron; namespace MummertMedia\ContaoMeilisearchBundle\Cron;
use Contao\CoreBundle\Framework\ContaoFramework; use Contao\CoreBundle\Framework\ContaoFramework;
use MummertMedia\ContaoMeilisearchBundle\Service\MeilisearchIndexService; use MummertMedia\ContaoMeilisearchBundle\Service\MeilisearchIndexService;
use Symfony\Component\Process\Process;
class MeilisearchIndexCron class MeilisearchIndexCron
{ {
public function __construct( public function __construct(
private readonly MeilisearchIndexService $indexService, private readonly MeilisearchIndexService $indexService,
private readonly ContaoFramework $framework, private readonly ContaoFramework $framework,
private readonly string $projectDir,
) {} ) {}
public function __invoke(): void public function __invoke(): void
{ {
// Contao initialisieren (wichtig!) // Contao initialisieren
$this->framework->initialize(); $this->framework->initialize();
// einmal täglich indexieren // 1) Contao Crawl
$this->runConsole('contao:crawl');
// 2) Cleanup (24h Grace)
$this->runConsole('meilisearch:files:cleanup');
// 3) Meilisearch Index
$this->indexService->run(); $this->indexService->run();
} }
private function runConsole(string $command): void
{
$process = new Process([
'php',
$this->projectDir . '/vendor/bin/contao-console',
...explode(' ', $command),
]);
$process->setTimeout(null);
$process->run();
}
} }