Informations générales

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 une tâche

Pour ajouter une tâche, mettez simplement dans votre code :

if ($core->blog->dcCron instanceof 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 ($core->blog->dcCron instanceof 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 ($core->blog->dcCron instanceof 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 ou d'intégration dans un plugin. La tâche sera néanmoins présente est pourra être réactivée à tout moment.

Obtenir l'intervalle d'une tâche

Pour obtenir l'intervalle d'une tâche, ajoutez simplement ce code :

$core->blog->dcCron->getTaskInterval('nomDeLaTache');
  • nomDeLaTache doit être une chaîne alphanumérique. C'est à dire qu'elle doit contenir uniquement des chiffres et/ou des lettres. Si la tâche n'existe pas, la fonction retourne false sinon elle retourne l'intervalle en seconde

Obtenir le temps restant avant l'exécution d'une tâche

Pour obtenir le temps restant avant l'exécution d'une tâche, ajoutez simplement ce code :

$core->blog->dcCron->getRemainingTime('nomDeLaTache');
  • nomDeLaTache doit être une chaîne alphanumérique. C'est à dire qu'elle doit contenir uniquement des chiffres et/ou des lettres. Si la tâche n'existe pas, la fonction retourne false sinon elle retourne le temps restant en seconde

Obtenir la date de la prochaine exécution d'une tâche

Pour obtenir la date de la prochaine exécution d'une tâche, ajoutez simplement ce code :

$core->blog->dcCron->getNextRunDate('nomDeLaTache');
  • nomDeLaTache doit être une chaîne alphanumérique. C'est à dire qu'elle doit contenir uniquement des chiffres et/ou des lettres. Si la tâche n'existe pas, la fonction retourne false sinon elle retourne la date de la prochaine exécution

Informations techniques

  • Version du plugin : 1.1.8
  • Version minimale de Dotclear : 2.1.6
  • Licence : GNU GPL v2
  • Support : Billet dédié