Le programmateur d’événements ( Event Scheduler ) (part 1/6)

avril 20, 2009

Poursuivons l’exploration des fonctionnalités phares de MySQL 5.1, et penchons-nous sur le programmateur d’évènements (Event Scheduler) présent depuis MySQL 5.1.6 . Cet article est rédigé avec la version 5.1.22 de MySQL.

Qu’est-ce qu’un programmateur d’évènements ?

Le programmateur d’événements ou « event scheduler » offre la possibilité, à l’administrateur de base de données, de déclencher l’exécution de requêtes programmées directement dans le serveur MySQL. Ce planificateur de tâches (CRON-like) interne permet donc d’automatiser très simplement des tâches à des intervalles réguliers, ou à heure fixe, sans avoir besoin de configurer le système sur lequel la base de données fonctionne.

Comment fonctionne le programmateur d’évènements ?

La première chose à faire est de vérifier si le programmateur d’évènements est activé. Pour ce faire regardez la valeur du paramètre event_scheduler:

Par défaut le programmateur n’est pas activé, event_scheduler vaut donc OFF. Activez le avec la commande SET GLOBAL (le droit SUPER est nécessaire).

mysql> SET GLOBAL event_scheduler = 1;

Un fois activé, le programmateur d’évènements créé un processus léger (thread) qui tourne en tâche de fond. Ce processus est chargé d’exécuter les événements lorsque le moment est venu. On peut le voir avec la commande SHOW PROCESSLIT. Cependant, il faut avoir le privilège SUPER pour pouvoir la lancer.

mysql> SHOW PROCESSLIST \G
*************************** 2. row ***************************
Id: 4
User: event_scheduler
Host: localhost
db: NULL
Command: Daemon
Time: 0
State: Waiting for next activation
Info: NULL

(à suivre… event scheduler: Créer un évènement)

Leave a Reply