framework:
    messenger:
        failure_transport: failed

        transports:
            # https://symfony.com/doc/current/messenger.html#transport-configuration
            async:
                dsn: '%env(MESSENGER_ASYNC_TRANSPORT_DSN)%'
                retry_strategy:
                    max_retries: 3
                    multiplier: 2
            rdap_high:
                dsn: '%env(MESSENGER_RDAP_HIGH_TRANSPORT_DSN)%'
                options:
                    consumer: '%env(MESSENGER_CONSUMER_NAME)%'
                retry_strategy:
                    delay: 1000
                    multiplier: 2
                    max_delay: 86400000

            rdap_low:
                dsn: '%env(MESSENGER_RDAP_LOW_TRANSPORT_DSN)%'
                options:
                    consumer: '%env(MESSENGER_CONSUMER_NAME)%'
                retry_strategy:
                    delay: 2000
                    multiplier: 2
                    max_delay: 86400000

            failed: 'doctrine://default?queue_name=failed'
            # sync: 'sync://'

        default_bus: messenger.bus.default

        buses:
            messenger.bus.default: [ ]

        routing:
            Symfony\Component\Mailer\Messenger\SendEmailMessage: async
            Symfony\Component\Notifier\Message\ChatMessage: async
            Symfony\Component\Notifier\Message\SmsMessage: async

            App\Message\OrderDomain: async
            App\Message\DetectDomainChange: async
            App\Message\ProcessAllWatchlist: async
            App\Message\ProcessWatchlist: async
            App\Message\UpdateRdapServers: async
            App\Message\ValidateConnectorCredentials: async
            App\Message\UpdateDomain: rdap_high
