Consolidate onto the symfony/scheduler recipe's App\Schedule (stateful + processOnlyLastMissedRun, so missed runs after downtime still execute) instead of a separate provider. Add the every-1-minute ExpireAppointmentsMessage there, point scheduler_default at schedule://default, and drop the redundant ExpireAppointmentsSchedule. debug:scheduler shows the trigger registered. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 lines
711 B
YAML
26 lines
711 B
YAML
framework:
|
|
messenger:
|
|
failure_transport: failed
|
|
|
|
transports:
|
|
async:
|
|
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
|
|
retry_strategy:
|
|
max_retries: 3
|
|
delay: 5000
|
|
multiplier: 2
|
|
failed: 'doctrine://default?queue_name=failed'
|
|
sync: 'sync://'
|
|
scheduler_default:
|
|
dsn: 'schedule://default'
|
|
|
|
routing:
|
|
'App\Shared\Message\SendSmsMessage': async
|
|
'App\Appointment\Message\ExpireAppointmentsMessage': scheduler_default
|
|
|
|
when@test:
|
|
framework:
|
|
messenger:
|
|
transports:
|
|
async: 'in-memory://'
|