Bonjour,
Dans mon appli symfony2 je souhaite envoyer un email à tous mes membres.
Pour éviter les saturations, j'ai paramétré swiftmailer avec le mode "file" :
Voici en gros le fonctionnement de ma fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 spool: type: file path: "%kernel.root_dir%/spool" # les emails sont stockés ici avant d'etre envoyés via un cron
Si je commente la ligne 4 "sendEmail", pas de soucis, ça passe sauf qu'il ne génère pas mes emails bien sûr.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $allMembers = $em->getRepository("DataBaseBundle:User")->getAllMembers(); foreach ($allMembers as $member){ $allTask = $em->getRepository("DataBaseBundle:Task")->getAllTasks($member); $this->sendEmailToUser($member, $allTask); $cpt++; $finalResult = array('cpt' => $cpt, 'name' => $member->getName(), 'email' => $member->getEmail(), 'result' => 'Email sent!'); array_push($resultEmail, $finalResult); $logger = $this->get('logger'); $logger->info('STATEMENT => '.implode(';', $finalResult)); } return $this->render("MemberBundle:Member:statement.html.twig", array( 'resultEmail' => $resultEmail, ));
Si je laisse le "sendEmail", je vois qu'il génère bien mes ~500 emails en 20-30s et dans les logs, je vois bien les lignes concernant mes emails.
Sauf que après il bloque, ça tourne, ça tourne et paf "maximum execution time" !
Je ne comprends pas, vu qu'il a généré tous mes emails, que fait-il après ?
Merci de votre aide.
Partager