Envoi de mailing et charge du serveur

Envoi de mailing et charge du serveur - PHP - Programmation

Marsh Posté le 28-04-2004 à 15:59:37    

Bonjour, j'écris un morceau de code pour envoyer des mailings (environ 3000 à ce jour), j'utilise pour cela la classe phpmailer.
 
Mon problème est d'arriver à mesurer la charge du serveur, parce qu'en faisant des tests, je me suis rendu compte que le script est exécuté sans problème, mais que le pauvre qmail est submergé de messages.
 
Si qqun peut me donner une piste sur comment faire pour séquencer l'envoi au mieux avec un script "intelligent" et pas seulement un délai entre chaque envoi, je suis preneur  ;)  
 
Merci


Message édité par misterpinguin le 28-04-2004 à 15:59:46
Reply

Marsh Posté le 28-04-2004 à 15:59:37   

Reply

Marsh Posté le 29-04-2004 à 15:04:31    

misterpinguin a écrit :

Bonjour, j'écris un morceau de code pour envoyer des mailings (environ 3000 à ce jour), j'utilise pour cela la classe phpmailer.
 
Mon problème est d'arriver à mesurer la charge du serveur, parce qu'en faisant des tests, je me suis rendu compte que le script est exécuté sans problème, mais que le pauvre qmail est submergé de messages.
 
Si qqun peut me donner une piste sur comment faire pour séquencer l'envoi au mieux avec un script "intelligent" et pas seulement un délai entre chaque envoi, je suis preneur  ;)  
 
Merci


 
Tu ne peux pas totalement maitrisé cela le mieux et de fixer un delai en groupe.
Dans une boucle d'envoy de mail tu peux y inserer la fonction sleep(int second) qui lui va stopé le scipt le temps que la requette server puisse etre traité.
 
Tu peux le coupler avec un Cron ou tu demande a ce que tu envoy un certain nombre de mail par heure. Si tu n'as pas de cron alors je te conseil www.webcron.org

Reply

Marsh Posté le 29-04-2004 à 20:31:04    

Le sleep côté serveur risque de poser problème s'il y a une limite au temps d'exécution d'une page.
 
Pour faire ce genre de gros travaux, si c'est quelque chose qui est déclenché manuellement, il est possible de fractionner la tâche.
A chaque appel de la page, tu envoies 100 mails, et tu regénères une page toute simple contenant une redirection automatique (différée de quelques secondes) vers le même script PHP, avec une variable dans la query string pour indiquer à partir de quelle adresse commencer pour le lot suivant. Et ça va enchaîner les lots tout seul.
 
Pour la redirection, un truc du style (avec 3 secondes de delai) :  

Code :
  1. echo ('<META id="redirectIfTracking" HTTP-EQUIV="Refresh" CONTENT="3;URL='.$PHP_SELF.'?debut='.$suivant.'" >');


Message édité par Thierry Chatel le 29-04-2004 à 20:31:43
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed