TimerService 0.2 et ZopeScheduler 0.2 [How-To]
Installation, paramétrisation de ZopeScheduler 0.2
et TimerService 0.2
Informations diverses
Système d’exploitation utilisé : Windows XP Pro SP2
Version de Python : 2.3.3
Verison de Zope : 2.7.0
Version de Plone : 2.0.3
Adresse web pour le téléchargement des produits
http://dev.legco.biz/downloads
Télécharger les produits ZopeScheduler version 0.2 (ZopeScheduler-0.2.tar.gz)
et TimerService version 0.2 (TimerService-0.2.tar.gz)
Installation des produits
Commencer par arrêter Zope/Plone.
Installer le produit TimerService en procédant de la façon suivante :
- Décompresser le fichier « TimerService-0.2.tar.gz » dans le répertoire products ($PLONE\Data\Products)
- Ouvrir le programme PythonWin Editor et exécuter le script python setup.py qui se trouve sous $PLONE\Date\Products\TimerService\timerserver
- Ajouter les lignes suivantes dans le fichier Zope.conf ($PLONE\Data\etc) :
%import timerserver
<timer-server>
</timer-server>
- Copier le répertoire timerserver qui se trouve sous $PLONE\Data\Products\TimerService dans $PLONE\Zope\lib\python
Installer maintenant ZopeScheduler version 0.2 :
- Décompresser le fichier ZopeScheduler-0.2.tar.gz dans le répertoire products ($PLONE\Data\Products)
- Redémarrer Zope/Plone, et ouvrir l’interface d’administration de Zope (ZMI)
- Aller sous portal_quickinstaller et installer ZopeScheduler 0.2
- A la racine de notre portail Plone, on a le produit zope_scheduler qui est bien là
Planification d’une tâche
Cliquer sur le produit zope_scheduler
Dans path, saisir le chemin complet du script à planifier, par exemple : /Java1/Cours/SendMail
(unrépertoire/unautrerépertoire/unscriptpython)
Sélectionner le temps, les jour, les mois, etc
Il faut au moins sélectionner un argument dans la liste de planification afin de pouvoir exécuter un script en tâche de fond. Par exemple, si on veut planifier une tâche qui doit être exécutée à chaque 10 et 40 minutes toutes les heures de chaque jeudi, on doit sélectionner 10 et 40 pour l’argument Minute, et 5 pour l’argument Day of Week.
Contrôle du bon fonctionnement de ZopeScheduler
Pour contrôler si TimerService et ZopeScheduler fonctionne correctement, il suffit d’aller vérifier les scripts qui s’inscrivent dans le fichier des événements de Plone ($PLONE\Data\log\event.log) après qu’une tâche planifiée ait due s’exécuter via ZopeScheduler. On devrait avoir des messages de ce style :
------
2004-09-20T10:40:00 INFO(0) ZServer Timerserver ready, starting timer services.
------
2004-09-20T10:50:00 INFO(0) TimerService Ttimer tick at Mon Sep 20 10:50:00 2004
------
2004-09-20T10:50:00 INFO(0) ZopeScheduler Process timer tick at 2004/09/20 10:50:00.681 GMT+2
------
2004-09-20T10:50:00 INFO(0) Process task calling <PythonScript at SendMail> at 2004/09/20 10:50:00 GMT+2
------
Attention : j’ai remarqué que la première fois qu’on redémarrait les services Zope/Plone, à la première exécution de notre tâche, seul les services timer de Timerserver démarraient. On peut d’ailleurs le constater en vérifiant l’heure des scripts ci-dessus : l’heure de démarrage des services timer de TimerServer (premier log) s’est fait à 10:40:00, alors que mon script python sendMail (dernier log) s’est exécuté via ZopeScheduler à 10:50:00.

Log in
PloneArticle
Forgot your password?