eCandidat (esup-opi)

Arborescence des pages

Vous regardez une version antérieure (v. /wiki/spaces/PROJESUPOPI/pages/194248746/6.2.+Utilisation+d+un+cron+applicatif+-+Quartz) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 4) afficher la version suivante »

La librairie Quartz permet de gérer un cron applicatif. On peut ainsi exécuter du code de manière planifiée.

Dans le cadre de l'application eCandidat, Quartz est utilisé pour une scrutation et une exécution des taches d'archivage.

Configuration Spring

Le fichier properties/misc/quartz.xml contient les différents beans Spring permettant la configuration de Quartz.

SchedulerFactoryBean

Le SchedulerFactoryBean permet de définir l'ensemble des tâches (triggers) qui sont gérées par Quartz. Il se définit de la manière suivante :

<bean>
    <property name="triggers">
        <list>
            <ref bean="cronArchiveTasks"/>
        </list>
    </property>
</bean>

CronTriggerBean

Le CronTriggerBean permet de définir une tâche au sens Quartz.

On lui indique quel fonctionnalité (Job) sera exécutée par ce trigger ainsi que l'expression cron qui définit la périodicité d'exécution.

Voici un exemple de trigger définit dans eCandidat :

<bean id="cronArchiveTasks">
    <property name="jobDetail" ref="archiveTaskBatch" />
    <!-- Exécution à minuit et demi -->
    <property name="cronExpression" value="${cron.archiveTask}" />
</bean>

Ici, la valeur "cron.archiveTask" est définit dans le fichier config.properties. Par exemple, on le configure à :

cron.archiveTask=0 30 0 * * ? (soit tous les jours à 0h30)

La documentation officielle expliquant les différents champs est disponible sur le site de Quartz au lien suivant :

http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-06

  • Aucune étiquette