Créer un cronjob eZPublish
Les tâches cron sont particulièrement utiles dans eZPublish, notamment pour effectuer des tâches récurentes, comme vider la table des sessions ou le cache. Il est possible d'ajouter vos propres tâches cron (ou cronjob) dans vos extensions.
Structure de l'extension
ezpublish path
-- extension
---- votre_extension
------ cronjobs
-------- mon_cronjob.php
------ settings
-------- cronjob.ini.append.php
Dans l'extension, ajoutez un dossier cronjobs, dans lequel vous placez le fichier contenant le script de celui-ci, et ajouter le fichier de configuration cronjob.ini.append.php dans le dossier settings pour paramétrer ce cronjob.
Le fichier de script cronjob
C'est le fichier qui va contenir les divers traitements à effectuer, vous disposez pour cela de l'intégralité du framework eZPublish. La classe eZCLI est particulièrement utile pour tracer les informations dans la console :
<?php include_once( 'lib/ezutils/classes/ezcli.php' ); $cli->output( "Début du cronjob"); //Vos divers traitements ici $cli->output( "Fin du cronjob"); ?>
La configuration
Attention, prenez garde à la collision de nom dans la section CronjobPart avec d'autres extensions, c'est à partir de ce nom que le cronjob sera lancé.
<?php /* [CronjobSettings] ScriptDirectories[]=extension/votre_extension/cronjobs [CronjobPart-nom_unique_de_part] Scripts[]=mon_cronjob.php */ ?>
nom_unique_de_part sera en quelque sorte l'identifiant d'u cronjob : cette chaîne doit donc être unique.
L'installation
Comme d'habitude :
- Videz le cache,
- Activez l'extension,
- Rechargez les classes des extensions si nécessaire.
Exécution du script
En console :
cd /path/to/ezpublish php runcronjobs.php nom_unique_de_part
Voilà votre cronjob exécuté, il ne vous reste plus qu'à définir sa fréquence.
Articles connexes
- Debugage par IP sur EzPublish
- eZPublish Sécurité
- Surcharger l'interface EzPublish par défaut (ezwebin)
- Url rewrite sur eZPublish
- Configuration requise eZPublish












Commentaires