Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
Route MailSyncRequested vers le transport sync au lieu d'async : la synchro IMAP s'exécute pendant la requête HTTP du clic « rafraîchir », donc le re-fetch du front voit immédiatement les nouveaux mails, sans worker messenger:consume à maintenir en prod. La sync de fond reste assurée par le cron OS (app:mail:sync, synchrone, indépendant du bus). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
34 lines
1.1 KiB
YAML
34 lines
1.1 KiB
YAML
framework:
|
|
messenger:
|
|
failure_transport: failed
|
|
|
|
transports:
|
|
sync: 'sync://'
|
|
|
|
async:
|
|
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
|
|
options:
|
|
queue_name: default
|
|
retry_strategy:
|
|
max_retries: 3
|
|
delay: 1000
|
|
multiplier: 2
|
|
max_delay: 0
|
|
|
|
failed: 'doctrine://default?queue_name=failed&auto_setup=0'
|
|
|
|
routing:
|
|
# Sync à la demande (bouton « rafraîchir ») : exécutée pendant la requête HTTP
|
|
# pour que le re-fetch du front voie immédiatement les nouveaux mails, sans worker
|
|
# messenger:consume à maintenir. La sync de fond reste assurée par le cron OS
|
|
# (app:mail:sync, synchrone, indépendant du bus). Repasser à `async` + worker si
|
|
# la boîte grossit au point que la sync à la demande approche le timeout PHP.
|
|
'App\Message\MailSyncRequested': sync
|
|
|
|
when@test:
|
|
framework:
|
|
messenger:
|
|
transports:
|
|
async: 'in-memory://'
|
|
failed: 'in-memory://'
|