/** * Méthode de création d'un job. * @param taskName Nom de la tache. * @param cronPattern Pattern de périodicité (sous la forme d'un pattern Cron ou d'une date). * @param taskmethod La méthode appellée. */ function createJob(taskName, cronPattern, taskmethod) { var deferred = Q.defer(); if (taskName && cronPattern && taskmethod && checkCronPattern(cronPattern)) { scheduler.add(taskName, cronPattern, taskmethod); logger.info("Tache crée : " + taskName + " - cronPattern : " + cronPattern); deferred.resolve("Tache crée : " + taskName); } else { var msg = "L'un des paramètres est incorrect : tâche=> " + taskName + " pattern Cron=> " + cronPattern + " méthode=> " + taskmethod; logger.error(msg); deferred.reject(msg); } return deferred.promise; }
/** * * @param taskName * @param cronDate */ function updateTaskOnCronChange(taskName, cronDate) { var deferred = Q.defer(); var currentCronDate = scheduler.jobs[taskName].cronTime.source; if (currentCronDate && cronDate) { if (cronDate !== currentCronDate) { if (checkCronPattern(cronDate)) { logger.info("Changement du rafraichissement pour la tache : " + taskName); scheduler.update(taskName, cronDate); } } deferred.resolve(); } else { var msg = "L'un des pattern est incorrect : courant => " + currentCronDate + " nouveau : " + cronDate; logger.error(msg); deferred.reject(msg); } return deferred.promise; }