Version 3 (modified by Tomtom33, 15 years ago) (diff) |
---|
dcCron
Programmez des tâches à intervalles réguliers
Auteur/Contributeurs?
- Author: Tomtom33
- Contributors:
Développement
Bugs et améliorations demandées
Dépôt
Changements récents
[2656] by Tomtom33 on 09/21/10 12:33:53
dcCron:
- Updated link with dcLog plugin
- Updated CSS class for tasks list
[2654] by Tomtom33 on 09/21/10 11:28:34
dcCron 2.0-RC2:
- Exception management for check() function
- Improved filters
- Improved UI
[2650] by Tomtom33 on 09/20/10 20:06:11
dcCron 2.0-RC1:
- Lock file support
- Fixed date concurrency
- Improved tasks check
- Improved UI
Documentation
dcCron est un plugin générique qui peut être utilisé et appelé par tous les autres plugins pour programmer des tâches à intervalles réguliers. Le plugin fourni une API très simple pour l'utiliser
Ajouter / Modifier des tâches
Pour ajouter une tâche, mettez simplement dans votre code :
if (isset($core->blog->dcCron)) { $core->blog->dcCron->put('nomDeLaTache','intervalle','callback'); }
- nomDeLaTache doit être une chaîne alphanumérique. C'est à dire qu'elle doit contenir uniquement des chiffres et/ou des lettres.
- intervalle doit être un entier ayant pour unité la seconde.
- callback doit être un tableau (array) prenant comme premier argument le nom d'une classe et comme deuxième argument le nom d'une fonction de cette classe. Cette fonction doit obligatoirement être une fonction static. Le callback ne peut pas être un object.
Si une tâche est déjà définie par nomDeLaTache, la fonction put() va mettre à jour celle-ci avec les nouveaux paramètres et exécuter le callback. Si un ou plusieurs des paramètres sont invalides, la fonction va générer des exceptions affichées sous forme d'erreurs dans l'interface d'administration ayant comme préfix [dcCron]
Supprimer une ou plusieurs tâches
Pour supprimer des tâches, mettez simplement ce code :
if (isset($core->blog->dcCron)) { $tableau = array( 'nomTache1', 'nomTache2', ... ); $core->blog->dcCron->del($tableau); }
- $tableau doit être un tableau contenant tous les noms de tâche que vous souhaitez supprimer. Ces noms doivent être des chaînes alphanumériques c'est à dire qu'elles doivent contenir uniquement des chiffres et/ou des lettres
Vérifier si une tâche existe
Pour vérifier qu'une tâche existe, mettez simplement ce code :
if ($core->blog->dcCron->taskExists('nomDeLaTache')) { # la tâche existe à ce point }
- nomDeLaTache doit être une chaîne alphanumérique. C'est à dire qu'elle doit contenir uniquement des chiffres et/ou des lettres
Activer / Désactiver une tâche
Pour activer / désactiver un tâche, mettez simplement ce code :
if (isset($core->blog->dcCron)) { # Pour activer une tâche $core->blog->dcCron->enable('nomDeLaTache'); # Pour Désactiver une tâche $core->blog->dcCron->disable('nomDeLaTache'); }
- nomDeLaTache doit être une chaîne alphanumérique. C'est à dire qu'elle doit contenir uniquement des chiffres et/ou des lettres
- Une tâche désactivée ne sera pas exécutée même si l'intervalle de temps est dépassé. Cela peut être utile lors de tests