Bonjour tout le monde,

Je rencontre un problème avec la configuration de messenger. En effet, je voudrai modifier la fréquence de vérification d'un nouveau message. Je voudrais que cette vérification se fasse toutes les minutes or actuellement c'est toutes les secondes.

En cherchant sur internet j'ai vu qu'il suffit de changer le paramètre suivant "check_delayed_interval" mais j'ai beau changer la valeur rien n'y fait.

Je vous montre mon fichier messenger.yaml.

framework:
    messenger:
        failure_transport: failed

        transports:
            # https://symfony.com/doc/current/messenger.html#transport-configuration
            async:
                dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
                options:
                    check_delayed_interval: 60000
                    use_notify: true
                retry_strategy:
                    max_retries: 3
                    multiplier: 2
            failed: 'doctrine://default?queue_name=failed'
            # sync: 'sync://'

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

            # Route your messages to the transports
            # 'App\Message\YourMessage': async
            App\Message\Office365Message: async

Détail de la clé MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0

Comme vous pouvez le voir, et si j'ai bien compris, j'ai réglé la fréquence à 1min (60000 millisecondes) mais ce n'est pas pris en compte. J'ai essayé de mettre plusieurs valeur mais pas mieux.

Avez vous une idée ?

Merci

3 réponses


olive140
Réponse acceptée

Bonjour,

check_delayed_interval est réservé à PostgreSQL

Le mieux est d'utilisé le nouveau composant scheduler
https://symfony.com/blog/new-in-symfony-6-3-scheduler-component

Personne n'a eu ce problème ?

Merci pour ta réponse.
Je vais regarder tout ça