Dotclear


Version 2 (modified by Tomtom33, 15 years ago) (diff)

Modification de la documentation

English

dcCron

Programmez des tâches à intervalles réguliers

Auteur/Contributeurs?

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.

Supprimer une tâche

Pour supprimer une tâche, ajoutez simplement ce code dans votre plugin :

if (isset($core->blog->dcCron)) {
 $core->blog->dcCron->del('NomDeLaTache');
}
  • NomDeLaTache doit être une chaîne alphanumérique. C'est à dire qu'elle doit 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

Conception

Fonctionnement

Le plugin fourni deux méthodes pour gérer correctement les tâches : put() et del(). La méthode put() permet d'ajouter une tâche en se basant sur le nom que l'on va lui donner. Si aucune tâche n'existe à ce nom, la fonction exécute le callback et enregistre tous les paramètres ainsi que la date de la première exécution.
Si la tache existe déjà, la fonction va la modifier. Deux cas de figure se présentent alors :

  • L'intervalle que l'on a passé est le même que celui enregistré. Dans ce cas, la fonction remplace uniquement le callback
  • L'intervalle que l'on a passé est différent de celui enregistré. Dans ce cas, la fonction va exécuter le nouveau callback et va ensuite enregistrer tous les nouveau paramètres ainsi que la date de cette nouvelle exécution.

Si jamais les arguments passés en paramètres de la méthode put() ne sont pas corrects (voir détail plus haut), le plugin génère des exceptions qui seront affichées comme des erreurs.

Le plugin fourni aussi une page permettant de voir, modifier et supprimer de façon "graphique" toutes les tâche enregistrées pour un blog. Il est important de savoir que les tâches enregistrées ne le sont que pour le blog courant. On peut avoir différentes tâches sur différents blogs lors d'une installation multi-blog.

Sites map