Bonjour,

Objectif : cadencer l'envoi des e-mails 20/secondes.
Contexte : les e-mails sont mis dans une queue puis envoyer via la commande swiftmailer:spool:send.

Test, avec cette configuration 2 e-mails/minute.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
...
            spool:
                type: file
                path: "%storage_dir%spool/"
            antiflood:
                threshold: 2
                sleep: 60
Ce code dans un controller :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
        /* @var $mailer \Swift_Mailer */
        $mailer = $this->get('swiftmailer.mailer...');
        for ($i = 1; $i <= 4; $i++) {
            $message = \Swift_Message::newInstance();
            $message->setSubject('Message n°' . $i);
            $message->setBody('TEST');
            $message->addTo('...');
            $message->addFrom('....');
            $mailer->send($message);
        }
La commande swiftmailer:spool:send cadence bien l'envoi à 2 e-mails/minute mais problème le code du controller subit également le sleep de 60 secondes.

La configuration sleep ne devrait pas s'appliquer au niveau controller dans le cas d'un spool de type file ?

Qu'en pensez-vous ?

Merci