Bonjour à tous,
J'ai mis en place un moteur d'emailing qui doit être lancer tous les jour sà une heure précise via une tache symfony que j'ai crée.
Le problème c'est que lorsqu'il s'agit d'envoyer un emailing à 10 ou 15 personnes ca marche sans probleme; mais là je dois l'envoyer à 8000 personnes et ca ne marche pas meme pas pour le premier.
Dans mon fichier factories.yml j'ai essayer ces deux strategies d'envoi :spool et realtime rien n'a change
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 prod: logger: class: sfNoLogger param: level: err loggers: ~ mailer: class: sfMailer param: logging: %SF_LOGGING_ENABLED% charset: %SF_CHARSET% delivery_strategy: realtime transport: class: Swift_SmtpTransport param: host: **** port: **** encryption: username: password:ma tache est bien créee dans le dossier lib/task
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 prod: logger: class: sfNoLogger param: level: err loggers: ~ mailer: class: sfMailer param: logging: %SF_LOGGING_ENABLED% charset: %SF_CHARSET% delivery_strategy: spool transport: class: Swift_SmtpTransport param: host: **** port: **** encryption: username: password:
et sur le serveur j'appelle ma tache comme ceci pour qu'elle se lance à 11h37 par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 class emailingTask extends sfBaseTask { protected function configure() { // // add your own arguments here //$this->addArguments(array(new sfCommandArgument('my_arg', sfCommandArgument::REQUIRED, 'My argument'))); $this->addOptions(array( new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'frontend'), new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', 'prod'), new sfCommandOption('connection', null, sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'doctrine'), // add your own options here )); $this->namespace = 'send'; $this->name = 'emailing'; $this->briefDescription = ''; $this->detailedDescription = <<<EOF The [send:emailing|INFO] task does things. Call it with: [php symfony send:emailing|INFO] EOF; } /* protected function execute($arguments = array(), $options = array()) { // initialize the database connection //$databaseManager = new sfDatabaseManager($this->configuration); //$connection = $databaseManager->getDatabase($options['connection'])->getConnection(); //$this->logSection('say', 'Hello, '.$arguments['my_arg'].'!'); try { $client = new SoapClient('http://hyundai.bdmr.fr/hyundai/ws/SimpleWS?wsdl'); $connexion = $client->authenticate('WSDL','buno2010'); } catch(SoapFault $e) { exit ($e->getMessage()); } $from = 'arnaud2004@yahoo.fr'; $recipient = 'arnaud.femtchou@digikeys.fr'; $subject = 'sujet'; $messageBody = $connexion ; $mailer = $this->getMailer(); $mailer->composeAndSend($from, $recipient, $subject, $messageBody); // add your code here }*/ protected function execute($arguments = array(), $options = array()) { .... }
elle marche bien quand il s'agit d'une petite quantite mais quand on passe la barre des 2000 ! ca merde!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 37 11 * * * /usr/bin/php5 --php-ini /etc/php5/apache2/php.ini /var/www/emailingauto/symfony send:emailing --application="frontend" > /home/result.log
Au secouuuuuuuuurs!!!!!!!!
Partager