envoie d'email => Maximum execution time
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" :
Code:
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 |
Voici en gros le fonctionnement de ma fonction:
Code:
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 commente la ligne 4 "sendEmail", pas de soucis, ça passe sauf qu'il ne génère pas mes emails bien sûr.
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.