begin process at 2012 05 31 18:22:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Temps d'execution de script limité


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Temps d'execution de script limité

vendredi 16 juillet 2010 à 00:00:45 | Temps d'execution de script limité

mailliam


Bijour à tous!

Voila j'ai fait un forum et je veux que quand il y a un nouveau sujet, tous les membres contenu dans ma table recoivent un mail de notification.
J'ai fait mon script comme cela, mais sachant qu'au bout de 10 ou 20 secondes le serveur va me le bloquer, y aurait-il un autre moyen de faire?
Juste pour être sûr que tous mes membres recoivent le mail qu'ils ont droit..

Code PHP :
$reponse = mysql_query("SELECT mail FROM MaTable");

mysql_close();
while ($donnees = mysql_fetch_array($reponse) )

{
$mail = $donnees['mail'];
// Vérification de la présence du @ dans $mail
	if (ereg(".+(@.+)(.[[:alpha:]]{2}([[:alpha:]]?))$",$mail)){
	$From  = "From:notification@vccg.ch\n";
	$From .= "MIME-version: 1.0\n";
	$From .= "Content-type: text/html; charset= iso-8859-1\n";
	mail($mail,$sujetmail,$Message,$From);
	} 
}


Merci d'avance pour vos lumières
vendredi 16 juillet 2010 à 07:53:02 | Re : Temps d'execution de script limité

syndrael

Si vraiment tu ne peux pas toucher au temps d'exécution (ini_set ou php.ini inaccessible), tu peux faire de la façon suivante:
- Créer une table temporaire qui accueillera tes futures adresses
- Copie dans cette table, les adresses concernées
- Boucler sur cette table pour envoyer tes mails
- Dés q'un mail est envoyé tu efface cette adresse de cette table
- Si une erreur se produit, tu relances ta commande d'envoi de mail..
- Bonus: Tu estimes le temps d'exécution après chaque envoi de mail et dès que tu t'approches du temps max tu quittes ta boucle (ça évite l'erreur)
- Bonus2: si tu as accès au serveur (crontab sous Linux)
- Bonus3: Tu as fini de faire ça.. tu peux aller faire une sieste et te reposer..
vendredi 16 juillet 2010 à 08:05:59 | Re : Temps d'execution de script limité

pysco68

Solution "bête"; utilise une mailing-list (type majordomo ou encore google-groups). Il te suffira d'envoyer un mail depuis ton serveur à cette liste de diffusion.

Je crois que c'est le plus simple. En plus, tes abonnés pourront controller s'il veulent le mail de notification ou pas ;)

Cordialement,
- Pysco68
vendredi 16 juillet 2010 à 08:10:55 | Re : Temps d'execution de script limité

pysco68

@syndrael:
avec le nombre de requêtes que tu a à faire (potentiellement 2 + "nombre adresses mail") tu ne fais que ralentir la chose. Plus simple; prendre des petit paquets (50-100 mails) et les envoyer sans grandes vérifications du temps d'exec.

Pour la suite; merci CRON et une entrée dans la bdd qui te dis ou tu t'est arrêté (au final 2 requêtes) ;)


- Pysco68
vendredi 16 juillet 2010 à 08:45:23 | Re : Temps d'execution de script limité

syndrael

Oui, c'est une alternative.. J'ai mis la mienne en place sur pas mal de sites à forte fréquentation (impact négligeable sur les serveurs) et ça marche.. Passer par Google pour un site pro c'est moyen, et Google pour les clients, ce n'est pas trop apprécié.
Tout dépend du contexte.. J'ai donné une solution, il y en a des tas d'autres. Mailliam choisira celle qui convient à son besoin.
S.
vendredi 16 juillet 2010 à 12:42:54 | Re : Temps d'execution de script limité

mailliam

ReTchô!

Merci à vous 2 pour vos réponses

Syndrael ton idée me plaît bien, mettre les mails dans une table, les effacer au fur et à mesure de l'envoi, en comptant le temps et arrêtant le script avant les 10 sec tout simplement..

Car c'est vrai que faire appel à google-groups c'est pas con non plus, mais ca fait moins pro
Sinon qu'entendais tu par CRON Pysco68? On le trouve sur les serveurs et on peut paramétrer l'envoi de mails avec ce programme? tu sais comment?

Je vais creuser cette voie aussi, merci bien en tout k
vendredi 16 juillet 2010 à 12:46:00 | Re : Temps d'execution de script limité

pysco68

Réponse acceptée !
Bonjour,

CRON permet l'execution temporisée de scripts; si tu à libre main sur ton systeme tu pourrais appeler un script toutes les minutes par exemple.

Sinon google-groups était juste un moyen. La plupart des hébergements (à partir de la moyenne gamme) disposent d'une liste de diffusion. Les adresses resteraient donc dans ta main.

Cordialement,
- Pysco68
vendredi 16 juillet 2010 à 15:36:11 | Re : Temps d'execution de script limité

mailliam

ahah ouais tout bêtement! j'ai pas pensé à la probabilité que mon hébergeur puisse fournir une liste de diffusion et c'est le cas!!

ahah j't'adore toi!! ca va être tellement + simple!

Merci !!
lundi 19 juillet 2010 à 19:53:57 | Re : Temps d'execution de script limité

pysco68

De rien ;)

- Pysco68


Cette discussion est classée dans : script, mail, mysql, temps, from


Répondre à ce message

Sujets en rapport avec ce message

Mail automatique? [ par romain14g59 ] Bonjour a tous je suis sur un projet de site web qui propose un hébergement mutualisé et je voudrais établir un systeme de facture automatique. Mais j faire une pause dans le traitement mysql php [ par bubbledesavon ] bonjour a tous,voici mon souci:j ai une base de donnee mysql avec des clients etc....,je cree un pdf avec FPDF (plus precisement php2pdf)et je l'envoi variable php et mysql [ par pascb423 ] Bonjour,j'ai une fonction mail qui envoi un mail, mais j'aimerai dans le sujet du mail insérer des enregistrements d'une base de donnée, je vous donne modification de script sur formulaire de contact [ par pi_delannoy ] Novice en PHP, j'ai repris un formulaire de contact chez Online ( form2mail.php ) qui correspond à me Pouvez-vous m'aider concernant l'envoi de newslettre a 1000 mail [ par tjravril ] voila c le script que j'ai programmez mais je sais pas pk sa va pas marché aider moi s'il vous plais sa fait 4 jours et j'arrive pas a envoyer aucun m Validation par email [ par bernhardjo ] Bonjour, Je cherche a faire une validation par email pour les utilisateurs puissent devenir membre. J'ai passablement de petit problème, notamment a Script envoi mail d'invitation depuis site automatiquement.. [ par sebboss78 ] Bonjour a tous je viens de créer un site (je voudrais le faire connaitre) et donc pour les membres je voudrais créer une invitation.Je m'explique c'es Fonction mail() [ par psyckan ] Bonjour,Je crée un site (hebergé sur fasthosts) pour une association et je veux créer un formulaire qui permet à un utilisateur de s'enregistrer.Pour Erreurs de compilation :Undefined offset [ par faty86 ] Salut !! J'ai un code php et lors de la compilation j'ai 2erreurs que je n'arrive pas a trouver !Voici le resultat de la compilation :"partie supprime Script de calcul donnant le résultat en temps réel [DEPLACE] [ par cmaelc ] Bonsoir, pouvez vous m'aider pour la réalisation d'un script de calcul de coût ( prix ) qui donne le résultat en temps réel sans cliquer sur un bouton


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales