Web app: new entities (Image, RenderedAsset, SharedImage, Token, DeviceImageHistory), enums, repositories, controllers, message handlers, migrations, tests, frontend upload/library/sticker UI, Vue components. Firmware: EPD background screen binaries + gen scripts, setup_bg header. Infra: ddev config, test bundle, gitignore coverage dir. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+10
-6
@@ -2,7 +2,9 @@
|
||||
|
||||
namespace App;
|
||||
|
||||
use App\Message\RunImageCleanupMessage;
|
||||
use Symfony\Component\Scheduler\Attribute\AsSchedule;
|
||||
use Symfony\Component\Scheduler\RecurringMessage;
|
||||
use Symfony\Component\Scheduler\Schedule as SymfonySchedule;
|
||||
use Symfony\Component\Scheduler\ScheduleProviderInterface;
|
||||
use Symfony\Contracts\Cache\CacheInterface;
|
||||
@@ -17,12 +19,14 @@ class Schedule implements ScheduleProviderInterface
|
||||
|
||||
public function getSchedule(): SymfonySchedule
|
||||
{
|
||||
// Rotation is handled at poll time in DeviceImageController — no scheduler needed.
|
||||
// DEV/PROD note: when switching to wakeHour mode, the device only polls once per day,
|
||||
// so rotation still happens correctly (isDue() fires on that single daily poll).
|
||||
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
|
||||
;
|
||||
->stateful($this->cache)
|
||||
->processOnlyLastMissedRun(true)
|
||||
->add(
|
||||
RecurringMessage::cron('0 * * * *', new RunImageCleanupMessage()),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user