Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[HS] alerte automatique MySQL

9 réponses
Avatar
andre_debian
Bonsoir,

Il existe sous MySQL un module qui permet de cr=E9er des relances automatiq=
ues=20
(p. ex. par mail) lorsqu'une date arrive =E0 =E9ch=E9ance.

Il semble que cette option existe sur une version payante de MySQL.

J'ai cherch=E9 sans r=E9sultat ... avez vous des infos ?

Merci.

Andr=E9

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/201306102101.32712.andre_debian@numericable.fr

9 réponses

Avatar
alarig
Pourquoi ne pas faire un script bash et un cron ?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
andre_debian
On Monday 10 June 2013 21:04:09 alarig wrote:
Pourquoi ne pas faire un script bash et un cron ?



Oui, c'est une solution.

J'ai fini par trouver "l'alerte MySQL". Elle est appelée "trigger" :

"Un déclencheur est un objet de base de données associé à   une table,
qui s'active lorsqu'un événement particulier survient" :

http://dev.mysql.com/doc/refman/5.0/fr/create-trigger.html

"La commande CREATE TRIGGER requiert le droit de SUPER.
Elle a été ajoutée en MySQL 5.0.2."

andré

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Tue, 11 Jun 2013 10:51:10 +0200
wrote:

Il existe sous MySQL un module qui permet de créer des relances
automatiques (p. ex. par mail) lorsqu'une date arrive à échà ©ance.



…

J'ai fini par trouver "l'alerte MySQL". Elle est appelée "trigger" :



Ça ne correspond aucunement à ce que tu recherches (pour faire ça,
il faut un cron qui appelle un script qqui s'authentifie et, en Gal,
appelle une proc. stockée.

Un trigger, ça sert à faire des traitements lors d'une _action_ s ur
la table lors d'un INSERT, UPDATE ou DELETE (PAS lors d'un SELECT).

Par ex. dans un ERP, on va recréditer automatiquement le stock
si une facture est annulée, ou faire une réservation BEFORE dans
une table temporaire des items d'une nomenclature pour être sûr
de ne pas se faire faucher les pièces par un collègue qui valider ait
sa facture avant (et inversement si la facture n'est pas finalisée).

--
Jade : bahh dis donc mon couziin préféré c'est que t'as pas mal changé!!!
Julien : et encore , là on ne voit pas la queue de cheval ^^
Jade : et bah diis donc!! tu m'en reserves d'autres des surprises comme ca ??!
Julien : J'ai les cheveux longs aussi

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Christophe
a écrit :
On Monday 10 June 2013 21:04:09 alarig wrote:
Pourquoi ne pas faire un script bash et un cron ?


Oui, c'est une solution.

J'ai fini par trouver "l'alerte MySQL". Elle est appelée "trigger" :




Hello,

Jusqu'à il y a quelques minutes, je ne pensais pas que l'on pouvait
faire un appel système depuis MySQL.
Mais d'après ce lien,
http://crazytechthoughts.blogspot.fr/2011/12/call-external-program-from-mysql.html,
c'est possible.

Je ne pense pas que cela soit pour autant une bonne idée. ( Sympa pour
le POC, mais en prod ?? )
Pour peu que ton processus externe se bloque, ou mette du temps à
répondre , ce sont tes tables MySQL qui risquent d'être lockées.
(potentiel effet "boule de neige" sur l'ensemble de l'application ,
voire jusqu'au système - accumulation de process - , d'autant plus si
c'est une table cruciale pour le fonctionnement de l'application).

Mais pour en revenir à ton cas, et comme le disait Bzzz, il faut de
toute facon un évènement (action INSERT / UPDATE / DELETE) pour qu'un
trigger se déclenche. Donc ca ne résout pas le problème. La tache cron
s'impose assez naturellement du coup ;) .

@+
Christophe.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Tue, 11 Jun 2013 12:36:03 +0200
Christophe wrote:

Jusqu'à il y a quelques minutes, je ne pensais pas que l'on pouvait
faire un appel système depuis MySQL. Mais d'après ce lien,
http://crazytechthoughts.blogspot.fr/2011/12/call-external-program-from-m ysql.html,
c'est possible.

Je ne pense pas que cela soit pour autant une bonne idée. ( Sympa
pour le POC, mais en prod ?? )



PG offres aussi cette poss. (avec les untrusted languages), mais
comme tu le soulignes, les programmations (tant de la DB que du
module externe) ont intérêt à ne pas se faire au petit bonhe ur…

Mais quand on voit que dans 99.9% des applis, le contrôle de la
DB est laissé au code de l'appli plutôt qu'au code de la DB, à §a
laisse rêveur (et méchamment flippé;)

--
<Issarlk> Peut-etre le code PHP de ce site a-t'il été autogé néré par un outil?
<Vobe> un stagiaire c'est considéré comme un outil ?
<Issarlk> Non c'est un consommable

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
andre_debian
a écrit :
> On Monday 10 June 2013 21:04:09 alarig wrote:
>> Pourquoi ne pas faire un script bash et un cron ?
> Oui, c'est une solution.
> J'ai fini par trouver "l'alerte MySQL". Elle est appelée "trigger" :



On Tuesday 11 June 2013 12:36:03 Christophe wrote:
Jusqu'à il y a quelques minutes, je ne pensais pas que l'on pouvait
faire un appel système depuis MySQL.
Mais d'après ce lien,
http://crazytechthoughts.blogspot.fr/2011/12/call-external-program-from-m ys
ql.html, c'est possible.
Je ne pense pas que cela soit pour autant une bonne idée. ( Sympa po ur
le POC, mais en prod ?? )
Pour peu que ton processus externe se bloque, ou mette du temps à
répondre , ce sont tes tables MySQL qui risquent d'être lockà ©es.
(potentiel effet "boule de neige" sur l'ensemble de l'application ,
voire jusqu'au système - accumulation de process - , d'autant plus si
c'est une table cruciale pour le fonctionnement de l'application).
Mais pour en revenir à ton cas, et comme le disait Bzzz, il faut de
toute facon un évènement (action INSERT / UPDATE / DELETE) pour qu'un
trigger se déclenche. Donc ca ne résout pas le problème. L a tache cron
s'impose assez naturellement du coup ;) . Christophe.



Face à "un tel crash annoncé possible avec répercussions s ur d'autres tables",
je vais me ranger à un script + cron.

Mais si c'est si dangereux potentiellement, pourquoi MySQL a mis
cette option de "trigger" ?

Un script bash + cron peut être aussi dangereux,
toutes actions sans l'opérateur aux aguets n'est pas sans risque.

andré


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Tue, 11 Jun 2013 18:50:19 +0200
wrote:

Face à "un tel crash annoncé possible avec répercussions s ur d'autres
tables", je vais me ranger à un script + cron.



Sage décision.

Mais si c'est si dangereux potentiellement, pourquoi MySQL a mis
cette option de "trigger" ?



Tu mélanges tout, on a besoin des triggers pour faciliter
l'automatisation de certaines tâches lors d'une action
modifiant la DB (et on peut aussi planter la DB avec une
procédure de trigger mal faite).

Un script bash + cron peut être aussi dangereux,



Tout est dangereux si c'est mal fait.

toutes actions sans l'opérateur aux aguets n'est pas sans risque.



Mêmes celles nécessitant un humain sont dangereuses parce qu'on
a beau penser à tout, il y a toujours qqun qui fera pire ou qui
s'engouffrera dans une faille; d'où une politique style firewall:
on interdit tout, puis on ouvre juste ce qu'il faut pour accomplir
la tâche.

C'est en partie pour cette raison que le dev rapide et/ou à date
fixée à l'avance est souvent une ineptie (et que les SSII
reviennent X fois chez les clients); parce qu'il fait tout
aussi souvent l'impasse sur l'analyse de fond du PB à résoudre.

--
<ju> le seigneur ne touche plus grand monde ...
<fab> les prêtres s'occupent de ça pour lui

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
andre_debian
On Tuesday 11 June 2013 19:04:29 Bzzz wrote:
wrote:
> Face à "un tel crash annoncé possible avec répercussions sur d'autres
> tables", je vais me ranger à un script + cron.

Sage décision.

> Mais si c'est si dangereux potentiellement, pourquoi MySQL a mis
> cette option de "trigger" ? :
Tu mélanges tout, on a besoin des triggers pour faciliter
l'automatisation de certaines tâches lors d'une action
modifiant la DB (et on peut aussi planter la DB avec une
procédure de trigger mal faite).



Lié à MySQL ou pour toutes bases de données ?


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Christophe
a écrit :
Mais si c'est si dangereux potentiellement, pourquoi MySQL a mis
cette option de "trigger" ? :







Un trigger n'est pas dangereux en soit , et c'est même très utile : cela
permet notamment de mettre à jour des tables de données précompilées
pour accéder plus rapidement à une information.


Tu mélanges tout, on a besoin des triggers pour faciliter
l'automatisation de certaines tâches lors d'une action
modifiant la DB (et on peut aussi planter la DB avec une
procédure de trigger mal faite).


Lié à MySQL ou pour toutes bases de données ?




Je dirais pour toutes .

Comme tout code, si on y prend pas garde, on peut vite faire des
conneries avec.
Si par exemple , avec un trigger, tu t'amuses à mettre à jour une table
de plusieurs millions d'enregistrements et qui n'est pas indexée, tu
peux vite avoir des problèmes.

J'attirais plus l'attention sur le fait que de lancer un processus
externe à travers un trigger, ce n'est pas que ça marche pas, mais c'est
"ajouter des balles dans le barillet" ;).

@+
Christophe.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/