Sur le site easynounou.com je voudrais ajouter un système d'alerte
email.
L'idée c'est de générer des emails d'alerte lors de mises à jour de la
base. Ces alertes sont stoquées dans une table MYSQL.
Il ne me reste plus alors qu'à mettre en place un script qui à interval
régulier va aller chercher dans la table en question les emails à
envoyer, les envoies et modifie les enregistrements dans la table.
J'ai essayé du côté de PHP mais dès que j'ai de nombreux emails à
traiter... cela se met à ne plus fonctionner !
Peut-être que PERL est mon ami ? Des exemples de scripts permettant ce
type de chose ? Comment faire pour que le script se recharge si il y a
beaucoup de mails à traiter ? Comment mettre en place un prompt
permetant au script de se lancer automatiquement par exemple toutes les
heures ?
Merci de vos conseils... je suis totalement néophyte en perl !
--
Un moyen de garde pour vos enfants ? http://www.easynounou.com
Le + court chemin entre les enfants et celles qui les gardent
(nounous, baby-sitter, assistantes maternelles, au pair)
J'ai essayé du côté de PHP mais dès que j'ai de nombreux emails à traiter... cela se met à ne plus fonctionner !
Je ne pense pas que le problème vienne du langage, mais plutôt de ton programme.
Peut-être que PERL est mon ami ?
Ben, oui, en Perl tu pourras faire simplement ce que tu veux. Mais si tout le reste de tes script sont en PHP, ça va peut-être complexifier la maintenance d'ajouter un bout en Perl, non?
Des exemples de scripts permettant ce type de chose ?
Pour accéder à la base de données, tu auras besoin du module DBI, avec le pilote DBD::mysql.
Pour envoyer les mails, je pense que tu peux utiliser Mail::Sender (j'avoue faire des choses moins propres dans mes programmes, et parler directement à Sendmail).
Comment faire pour que le script se recharge si il y a beaucoup de mails à traiter ?
Le mieux, c'est qu'il ne se termine qu'une fois le boulot terminé.
Comment mettre en place un prompt permetant au script de se lancer automatiquement par exemple toutes les heures ?
Un prompt? Que veux-tu dire? Le plus simple est d'utiliser cron, qui lancera ton script toutes les heures.
Je viens de voir ce thread, qui semble traiter un problème proche du tien: http://groups.google.fr/group/fr.comp.lang.perl/browse_frm/thread/48a3233eca2d8d15/11d39d25448e8d7d
-- Jérémy JUST
Le Tue, 5 Sep 2006 19:39:26 +0200,
J'ai essayé du côté de PHP mais dès que j'ai de nombreux emails à
traiter... cela se met à ne plus fonctionner !
Je ne pense pas que le problème vienne du langage, mais plutôt de ton
programme.
Peut-être que PERL est mon ami ?
Ben, oui, en Perl tu pourras faire simplement ce que tu veux. Mais si
tout le reste de tes script sont en PHP, ça va peut-être complexifier
la maintenance d'ajouter un bout en Perl, non?
Des exemples de scripts permettant ce type de chose ?
Pour accéder à la base de données, tu auras besoin du module DBI,
avec le pilote DBD::mysql.
Pour envoyer les mails, je pense que tu peux utiliser Mail::Sender
(j'avoue faire des choses moins propres dans mes programmes, et parler
directement à Sendmail).
Comment faire pour que le script se recharge si il y a
beaucoup de mails à traiter ?
Le mieux, c'est qu'il ne se termine qu'une fois le boulot terminé.
Comment mettre en place un prompt permetant au script de se lancer
automatiquement par exemple toutes les heures ?
Un prompt? Que veux-tu dire?
Le plus simple est d'utiliser cron, qui lancera ton script toutes les
heures.
Je viens de voir ce thread, qui semble traiter un problème proche du
tien:
http://groups.google.fr/group/fr.comp.lang.perl/browse_frm/thread/48a3233eca2d8d15/11d39d25448e8d7d
J'ai essayé du côté de PHP mais dès que j'ai de nombreux emails à traiter... cela se met à ne plus fonctionner !
Je ne pense pas que le problème vienne du langage, mais plutôt de ton programme.
Peut-être que PERL est mon ami ?
Ben, oui, en Perl tu pourras faire simplement ce que tu veux. Mais si tout le reste de tes script sont en PHP, ça va peut-être complexifier la maintenance d'ajouter un bout en Perl, non?
Des exemples de scripts permettant ce type de chose ?
Pour accéder à la base de données, tu auras besoin du module DBI, avec le pilote DBD::mysql.
Pour envoyer les mails, je pense que tu peux utiliser Mail::Sender (j'avoue faire des choses moins propres dans mes programmes, et parler directement à Sendmail).
Comment faire pour que le script se recharge si il y a beaucoup de mails à traiter ?
Le mieux, c'est qu'il ne se termine qu'une fois le boulot terminé.
Comment mettre en place un prompt permetant au script de se lancer automatiquement par exemple toutes les heures ?
Un prompt? Que veux-tu dire? Le plus simple est d'utiliser cron, qui lancera ton script toutes les heures.
Je viens de voir ce thread, qui semble traiter un problème proche du tien: http://groups.google.fr/group/fr.comp.lang.perl/browse_frm/thread/48a3233eca2d8d15/11d39d25448e8d7d
my $mail = new Mail::SendEasy( smtp => 'smtp.XXX.fr' , ) ;
my $status = $mail->send( from => '' , from_title => '' , reply => '' , to => '' , subject => "le raport secu de la journée" , msg => "@sortie n fin du log!" , msgid => "0101" , ) ;
if (!$status) { print $mail->error ;}
voila un example de script pour envoyer des mail cela marche tres bien avec de nombreux mail 'Mail::SendEasy' est simple a mettre en oeuvre et si tu le couple avec un DBD::sql tu vas pouvoir faire ce que tu veux .
tu ne dis pas sur qu'elle os tu es ??? en tout cas si tu est sous un linux/unix il suffit de faire un simple cron pour pouvoir lancer ton scrip selon tes besoins sous windows je sais pas comment ça marche mais amha c'est pas la mer a boire :)
un ex de crontab "15 23 * * * root perl /root/aXX.pl"
my $mail = new Mail::SendEasy(
smtp => 'smtp.XXX.fr' ,
) ;
my $status = $mail->send(
from => 'sender@foo.com' ,
from_title => 'master@XXXX' ,
reply => 'ne_reply_pas@foo.com' ,
to => 'XXX@XX.com' ,
subject => "le raport secu de la journée" ,
msg => "@sortie n fin du log!" ,
msgid => "0101" ,
) ;
if (!$status) { print $mail->error ;}
voila un example de script pour envoyer des mail cela marche tres bien
avec de nombreux mail 'Mail::SendEasy' est simple a mettre en oeuvre et
si tu le couple avec un DBD::sql tu vas pouvoir faire ce que tu veux .
tu ne dis pas sur qu'elle os tu es ???
en tout cas si tu est sous un linux/unix il suffit de faire un simple
cron pour pouvoir lancer ton scrip selon tes besoins sous windows je
sais pas comment ça marche mais amha c'est pas la mer a boire :)
un ex de crontab "15 23 * * * root perl
/root/aXX.pl"
my $mail = new Mail::SendEasy( smtp => 'smtp.XXX.fr' , ) ;
my $status = $mail->send( from => '' , from_title => '' , reply => '' , to => '' , subject => "le raport secu de la journée" , msg => "@sortie n fin du log!" , msgid => "0101" , ) ;
if (!$status) { print $mail->error ;}
voila un example de script pour envoyer des mail cela marche tres bien avec de nombreux mail 'Mail::SendEasy' est simple a mettre en oeuvre et si tu le couple avec un DBD::sql tu vas pouvoir faire ce que tu veux .
tu ne dis pas sur qu'elle os tu es ??? en tout cas si tu est sous un linux/unix il suffit de faire un simple cron pour pouvoir lancer ton scrip selon tes besoins sous windows je sais pas comment ça marche mais amha c'est pas la mer a boire :)
un ex de crontab "15 23 * * * root perl /root/aXX.pl"
voila
messian_nospam
wrote:
voila un example de script pour envoyer des mail cela marche tres bien avec de nombreux mail 'Mail::SendEasy' est simple a mettre en oeuvre et si tu le couple avec un DBD::sql tu vas pouvoir faire ce que tu veux .
Merci... une idée du nombre de mails qu'un script perl permet d'envoyer sans être à genou ?
-- Un moyen de garde pour vos enfants ? http://www.easynounou.com Le + court chemin entre les enfants et celles qui les gardent (nounous, baby-sitter, assistantes maternelles, au pair)
<bsdouille@numericable.fr> wrote:
voila un example de script pour envoyer des mail cela marche tres bien
avec de nombreux mail 'Mail::SendEasy' est simple a mettre en oeuvre et
si tu le couple avec un DBD::sql tu vas pouvoir faire ce que tu veux .
Merci... une idée du nombre de mails qu'un script perl permet d'envoyer
sans être à genou ?
--
Un moyen de garde pour vos enfants ? http://www.easynounou.com
Le + court chemin entre les enfants et celles qui les gardent
(nounous, baby-sitter, assistantes maternelles, au pair)
voila un example de script pour envoyer des mail cela marche tres bien avec de nombreux mail 'Mail::SendEasy' est simple a mettre en oeuvre et si tu le couple avec un DBD::sql tu vas pouvoir faire ce que tu veux .
Merci... une idée du nombre de mails qu'un script perl permet d'envoyer sans être à genou ?
-- Un moyen de garde pour vos enfants ? http://www.easynounou.com Le + court chemin entre les enfants et celles qui les gardent (nounous, baby-sitter, assistantes maternelles, au pair)
Pourquoi faire aussi compliqué pour récupérer le mois et lire un fichier?
-- Jérémy JUST
messian_nospam
Jérémy JUST wrote:
Le Tue, 5 Sep 2006 19:39:26 +0200,
J'ai essayé du côté de PHP mais dès que j'ai de nombreux emails à traiter... cela se met à ne plus fonctionner !
Je ne pense pas que le problème vienne du langage, mais plutôt de ton programme.
Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me permet pas de traiter tous les envoies...
-- Un moyen de garde pour vos enfants ? http://www.easynounou.com Le + court chemin entre les enfants et celles qui les gardent (nounous, baby-sitter, assistantes maternelles, au pair)
Jérémy JUST <jeremy_just@netcourrier.com> wrote:
Le Tue, 5 Sep 2006 19:39:26 +0200,
J'ai essayé du côté de PHP mais dès que j'ai de nombreux emails à
traiter... cela se met à ne plus fonctionner !
Je ne pense pas que le problème vienne du langage, mais plutôt de ton
programme.
Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me
permet pas de traiter tous les envoies...
--
Un moyen de garde pour vos enfants ? http://www.easynounou.com
Le + court chemin entre les enfants et celles qui les gardent
(nounous, baby-sitter, assistantes maternelles, au pair)
J'ai essayé du côté de PHP mais dès que j'ai de nombreux emails à traiter... cela se met à ne plus fonctionner !
Je ne pense pas que le problème vienne du langage, mais plutôt de ton programme.
Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me permet pas de traiter tous les envoies...
-- Un moyen de garde pour vos enfants ? http://www.easynounou.com Le + court chemin entre les enfants et celles qui les gardent (nounous, baby-sitter, assistantes maternelles, au pair)
Jérémy JUST
On Thu, 7 Sep 2006 08:38:28 +0200 (JF Messian) wrote:
Je ne pense pas que le problème vienne du langage, mais plutôt de ton programme. Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me
permet pas de traiter tous les envoies...
Euh, quel time-out? J'ai du mal à croire que le langage PHP impose une durée maximale d'exécution aux programmes qui sont écrits avec lui.
Je ne pense pas que le problème vienne du langage, mais plutôt de ton
programme.
Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me
permet pas de traiter tous les envoies...
Euh, quel time-out? J'ai du mal à croire que le langage PHP impose une
durée maximale d'exécution aux programmes qui sont écrits avec lui.
On Thu, 7 Sep 2006 08:38:28 +0200 (JF Messian) wrote:
Je ne pense pas que le problème vienne du langage, mais plutôt de ton programme. Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me
permet pas de traiter tous les envoies...
Euh, quel time-out? J'ai du mal à croire que le langage PHP impose une durée maximale d'exécution aux programmes qui sont écrits avec lui.
-- Jérémy JUST
messian_nospam
Jérémy JUST wrote:
On Thu, 7 Sep 2006 08:38:28 +0200 (JF Messian) wrote:
Je ne pense pas que le problème vienne du langage, mais plutôt de ton programme. Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me
permet pas de traiter tous les envoies...
Euh, quel time-out? J'ai du mal à croire que le langage PHP impose une durée maximale d'exécution aux programmes qui sont écrits avec lui.
PHP non... mais les paramètrages du serveur apache oui. Le Time Out est réglé autour de 3 minutes pour éviter qu'un script plante le serveur en cas de boucle ou autre.
D'où ma question concernant PERL... je pourrais trouver une autre solution pour que les alertes ne soit pas envoyées depuis le serveur web mais ça devient une usine à gaz.
-- Un moyen de garde pour vos enfants ? http://www.easynounou.com Le + court chemin entre les enfants et celles qui les gardent (nounous, baby-sitter, assistantes maternelles, au pair)
Je ne pense pas que le problème vienne du langage, mais plutôt de ton
programme.
Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me
permet pas de traiter tous les envoies...
Euh, quel time-out? J'ai du mal à croire que le langage PHP impose une
durée maximale d'exécution aux programmes qui sont écrits avec lui.
PHP non... mais les paramètrages du serveur apache oui. Le Time Out est
réglé autour de 3 minutes pour éviter qu'un script plante le serveur en
cas de boucle ou autre.
D'où ma question concernant PERL... je pourrais trouver une autre
solution pour que les alertes ne soit pas envoyées depuis le serveur web
mais ça devient une usine à gaz.
--
Un moyen de garde pour vos enfants ? http://www.easynounou.com
Le + court chemin entre les enfants et celles qui les gardent
(nounous, baby-sitter, assistantes maternelles, au pair)
On Thu, 7 Sep 2006 08:38:28 +0200 (JF Messian) wrote:
Je ne pense pas que le problème vienne du langage, mais plutôt de ton programme. Le probleme avec PHP pour l'envoi des emails c'est que le time out ne me
permet pas de traiter tous les envoies...
Euh, quel time-out? J'ai du mal à croire que le langage PHP impose une durée maximale d'exécution aux programmes qui sont écrits avec lui.
PHP non... mais les paramètrages du serveur apache oui. Le Time Out est réglé autour de 3 minutes pour éviter qu'un script plante le serveur en cas de boucle ou autre.
D'où ma question concernant PERL... je pourrais trouver une autre solution pour que les alertes ne soit pas envoyées depuis le serveur web mais ça devient une usine à gaz.
-- Un moyen de garde pour vos enfants ? http://www.easynounou.com Le + court chemin entre les enfants et celles qui les gardent (nounous, baby-sitter, assistantes maternelles, au pair)
Pourquoi faire aussi compliqué pour récupérer le mois et lire un fichier?
-- Jérémy JUST
car je suis pas un pro du perl et c'est seul façon que j'ai trouvé ;)
Jérémy JUST
On Thu, 7 Sep 2006 14:39:08 +0200 (JF Messian) wrote:
PHP non... mais les paramètrages du serveur apache oui. Le Time Out est réglé autour de 3 minutes pour éviter qu'un script plante le serveur en cas de boucle ou autre.
Mais ton script n'a aucune raison d'être attaché à Apache, puisqu'il n'a aucune lien avec le web!
je pourrais trouver une autre solution pour que les alertes ne soit pas envoyées depuis le serveur web
Voilà. Je pense que la meilleure solution est de faire lancer ton script par cron.
mais ça devient une usine à gaz.
Au contraire, ce sera plus simple. Je ne vois pas comment tu voulais faire exécuter ton script toutes les heures à partir d'Apache.
PHP non... mais les paramètrages du serveur apache oui. Le Time Out est
réglé autour de 3 minutes pour éviter qu'un script plante le serveur en
cas de boucle ou autre.
Mais ton script n'a aucune raison d'être attaché à Apache, puisqu'il n'a
aucune lien avec le web!
je pourrais trouver une autre solution pour que les alertes ne soit pas
envoyées depuis le serveur web
Voilà.
Je pense que la meilleure solution est de faire lancer ton script par
cron.
mais ça devient une usine à gaz.
Au contraire, ce sera plus simple.
Je ne vois pas comment tu voulais faire exécuter ton script toutes les
heures à partir d'Apache.
On Thu, 7 Sep 2006 14:39:08 +0200 (JF Messian) wrote:
PHP non... mais les paramètrages du serveur apache oui. Le Time Out est réglé autour de 3 minutes pour éviter qu'un script plante le serveur en cas de boucle ou autre.
Mais ton script n'a aucune raison d'être attaché à Apache, puisqu'il n'a aucune lien avec le web!
je pourrais trouver une autre solution pour que les alertes ne soit pas envoyées depuis le serveur web
Voilà. Je pense que la meilleure solution est de faire lancer ton script par cron.
mais ça devient une usine à gaz.
Au contraire, ce sera plus simple. Je ne vois pas comment tu voulais faire exécuter ton script toutes les heures à partir d'Apache.
-- Jérémy JUST
Jérémy JUST
On 7 Sep 2006 10:29:20 -0700 wrote:
$date1 = `date | awk ' NR==1 {print ($2) }'`; @auth = ` cat /var/log/auth.log ` ; c'est seul façon que j'ai trouvé ;)
use DateTime ; my $date1 = DateTime->now()->month_abbr() ;
open(LOG, "< /var/log/auth.log" ) or die "Cannot open auth.log: $!" ; my @auth = <LOG> ;
(non testé)
-- Jérémy JUST
On 7 Sep 2006 10:29:20 -0700
bsdouille@numericable.fr wrote:
$date1 = `date | awk ' NR==1 {print ($2) }'`;
@auth = ` cat /var/log/auth.log ` ;
c'est seul façon que j'ai trouvé ;)
use DateTime ;
my $date1 = DateTime->now()->month_abbr() ;
open(LOG, "< /var/log/auth.log" ) or die "Cannot open auth.log: $!" ;
my @auth = <LOG> ;