Dotclear


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

Updated fr 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. 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

Sites map