Skip to content

Commit a8f19de

Browse files
authored
Add symfony/scheduler recipe (#1403)
1 parent bacda33 commit a8f19de

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

symfony/scheduler/7.2/manifest.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"copy-from-recipe": {
3+
"src/": "%SRC_DIR%/"
4+
},
5+
"aliases": ["schedule", "scheduling"]
6+
}
+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace App;
4+
5+
use Symfony\Component\Scheduler\Attribute\AsSchedule;
6+
use Symfony\Component\Scheduler\Schedule as SymfonySchedule;
7+
use Symfony\Component\Scheduler\ScheduleProviderInterface;
8+
use Symfony\Contracts\Cache\CacheInterface;
9+
10+
#[AsSchedule]
11+
class Schedule implements ScheduleProviderInterface
12+
{
13+
public function __construct(
14+
private CacheInterface $cache,
15+
) {
16+
}
17+
18+
public function getSchedule(): SymfonySchedule
19+
{
20+
return (new SymfonySchedule())
21+
->stateful($this->cache) // ensure missed tasks are executed
22+
->processOnlyLastMissedRun(true) // ensure only last missed task is run
23+
24+
// add your own tasks here
25+
// see https://symfony.com/doc/current/scheduler.html#attaching-recurring-messages-to-a-schedule
26+
;
27+
}
28+
}

0 commit comments

Comments
 (0)