J'utilise une minuterie pour exécuter un travail Cron dans un serveur Tomcat, il s'exécute au démarrage et attend le nombre de minutes que j'attribue. En ce moment, je l'attribue à courir toutes les 24 heures.Cron Job s'exécutant à minuit tous les jours
configuration web-xml:
<env-entry>
<description>Minutes to Parse - 1440 minutes = 1 day</description>
<env-entry-name>Minutes</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>1440</env-entry-value>
</env-entry>
Cron configuration Job:
private void startScheduler() {
try {
timer.schedule(new TimerTask() {
public void run() {
scheduleParse();
//timer.cancel();
}
private void scheduleParse() {
notificaciones();
System.out.println("Lo esta haciendo");
}
}, 0, this.minutes * 60 * 1000);
}
catch (Exception e) {
}
}
Mais je dois ma fonction à courir à minuit tous les jours et par la façon dont nous le faisons, il est en cours d'exécution toutes les 24 heures en prenant comme référence l'heure à laquelle le déploiement a été effectué. Par exemple, si nous déployons notre application Web à 10 heures aujourd'hui, elle fonctionnera tous les jours à 10 heures.
J'ai trouvé une solution, mais je veux savoir s'il y en a une meilleure. L'intervalle de temps sera toutes les 60 minutes ... si l'heure actuelle est 12 heures, le processus sera fait. Si ce n'est pas le cas, rien ne sera fait.
Existe-t-il une meilleure solution pour cela?