J'essaie de programmer un Executors avec newSingleThreadScheduledExecutor qui envoie un rapport après 10 jours (à partir de l'initialisation du système), après 20 jours (à partir de l'initialisation du système) et tous les 1er du mois. J'ai essayé d'utiliser newSingleThreadScheduledExecutor qui s'exécute tous les jours et vérifie si aujourd'hui est après 10 jours .. 20 jours et etc. Mais, je pense que nous avons une façon plus élégante de résoudre ce problème avec certains exécuteurs. Avez-vous une idée de comment améliorer mon code?Executeurs Planifier dans différents intervalles
Le planificateur:
scheduler.scheduleWithFixedDelay(() -> {
try {
createReport();
} catch (Exception e) {
log.error("Error to create engagement report", e);
}
}, 1, 1, TimeUnit.DAYS);
et la fonction CreateReport - Je vérifie les dates.
Merci!
Regardez une bibliothèque comme «Quartz» à http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/ –