Skip to content

Commit b7ca011

Browse files
committed
Merge branch 'stateful-scheduler'
2 parents cd1f40d + c33ba33 commit b7ca011

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/Message/PackagesScheduleProvider.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@
88
use Symfony\Component\Scheduler\RecurringMessage;
99
use Symfony\Component\Scheduler\Schedule;
1010
use Symfony\Component\Scheduler\ScheduleProviderInterface;
11+
use Symfony\Contracts\Cache\CacheInterface;
1112

1213
#[AsSchedule('packages')]
1314
class PackagesScheduleProvider implements ScheduleProviderInterface
1415
{
1516
public function __construct(
17+
private readonly CacheInterface $cache,
1618
#[Autowire(param: 'dirigent.packages.periodic_updates')]
1719
private readonly bool $periodicUpdatesEnabled,
1820
) {
@@ -26,9 +28,10 @@ public function getSchedule(): Schedule
2628
$schedule = new Schedule();
2729

2830
if ($this->periodicUpdatesEnabled) {
29-
$schedule = $schedule->with(
30-
RecurringMessage::every('15 minutes', new RunCommandMessage('packages:update')),
31-
);
31+
$schedule = $schedule
32+
->with(RecurringMessage::every('15 minutes', new RunCommandMessage('packages:update')))
33+
->stateful($this->cache)
34+
->processOnlyLastMissedRun(true);
3235
}
3336

3437
$this->schedule = $schedule;

0 commit comments

Comments
 (0)