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://'