web-dev-qa-db-fra.com

Planification du printemps - L'expression Cron pour tous les jours à minuit ne fonctionne pas?

J'essaie de planifier une tâche au printemps qui doit être exécutée tous les jours à minuit. J'ai suivi le guide officiel de Spring et créé la classe de planificateur comme ci-dessous:

@Component
    public class OverduePaymentScheduler {    

        @Scheduled(cron = "0 0 0 * * *")
        public void trackOverduePayments() {

              System.out.println("Scheduled task running");

        }
    }

Cependant, la tâche ne s'exécute pas lorsque l'horloge atteint 12 heures. J'ai obtenu l'expression cron de la documentation de l'ordonnanceur quartz à cette adresse lien .

Le planificateur est correctement exécuté si je modifie l'expression "cron" par "*/10 * * * * *", qui s'exécute toutes les dix secondes.

Alors qu'est-ce que je fais mal?

15
Ali Muju

Je l’ai finalement fait fonctionner avec cette expression cron 0 0 0 * * *, Mais je devais définir le fuseau horaire de la classe du planificateur comme ceci. @Scheduled(cron = "0 0 0 * * *",zone = "Indian/Maldives")

14
Ali Muju

Ce sont des formats valides pour les expressions cron:

  • 0 0 * * * * = le sommet de chaque heure de chaque jour.
  • */10 * * * * * = toutes les dix secondes.
  • 0 0 8-10 * * * = 8, 9 et 10 heures de chaque jour.
  • 0 0 6,19 * * * = 6h00 et 7h00 PM tous les jours.
  • 0 0/30 8-10 * * * = 8h00, 8h30, 9h00, 9h30, 10h00 et 10h30 tous les jours.
  • 0 0 9-17 * * MON-FRI = heures neuf à cinq jours de la semaine
  • 0 0 0 25 12 ? = tous les jours de Noël à minuit

Le motif est:

second, minute, hour, day, month, weekday

Donc, votre réponse est:

0 0 0 * * *
34
Rzv Razvan

Veuillez utiliser le modèle ci-dessous pour 00h00 tous les jours:

    // at 12:00 AM every day
    @Scheduled(cron="0 0 0 * * ?")

J'ai vérifié votre modèle Cron sur ce site Web: http://www.cronmaker.com/ .

Il dit motif 0 0 0 * * * comme invalide.

12
Ajit Soman

Vous pouvez utiliser le format ci-dessous pour répondre à vos besoins:

0 0 23 * * *

Depuis les heures commence de 0 à 23 pour la configuration Quartz. Vous pouvez vous référer à cette lien pour plus d'informations.

3
RahuL Sharma