Add symfony/scheduler recipe (#1403)

This commit is contained in:
Kevin Bond
2025-04-18 08:08:38 +02:00
committed by GitHub
parent bacda33468
commit a8f19ded98
2 changed files with 34 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
{
"copy-from-recipe": {
"src/": "%SRC_DIR%/"
},
"aliases": ["schedule", "scheduling"]
}
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App;
use Symfony\Component\Scheduler\Attribute\AsSchedule;
use Symfony\Component\Scheduler\Schedule as SymfonySchedule;
use Symfony\Component\Scheduler\ScheduleProviderInterface;
use Symfony\Contracts\Cache\CacheInterface;
#[AsSchedule]
class Schedule implements ScheduleProviderInterface
{
public function __construct(
private CacheInterface $cache,
) {
}
public function getSchedule(): SymfonySchedule
{
return (new SymfonySchedule())
->stateful($this->cache) // ensure missed tasks are executed
->processOnlyLastMissedRun(true) // ensure only last missed task is run
// add your own tasks here
// see https://symfony.com/doc/current/scheduler.html#attaching-recurring-messages-to-a-schedule
;
}
}