TestUserNewDefault
TestUserNewDefault

Reputation: 85

Spring scheduled cron job running too many times

My job is running every at the time specified but its running every second of time specified, for example if I set a job to run at 22:54 it will run every second from 22:54:00 until 22:54:59. I want it to just run once at the time specified...any help is much appreciated

my code:

@Scheduled(cron = "* 54 22 * * ?")
    public void getCompaniess() {
         System.out.println(new Date()+" > Running testScheduledMethod...");

    }

output: Thu Mar 12 22:54:00 GMT 2020 > Running testScheduledMethod... Thu Mar 12 22:54:01 GMT 2020 > Running testScheduledMethod... ..... Thu Mar 12 22:54:59 GMT 2020 > Running testScheduledMethod...

Upvotes: 7

Views: 2217

Answers (2)

Ilya Lysenko
Ilya Lysenko

Reputation: 1892

@Scheduled(cron = "0 54 22 * * ?")
public void getCompaniess() {
    System.out.println(new Date()+" > Running testScheduledMethod...");
}

Upvotes: 1

Will Hartung
Will Hartung

Reputation: 118794

Change the first * to 0, with a star you are saying "every second".

Replacing it with a 0 (or any other number 0-59) will have it run on that "second" instead of "all of them".

Upvotes: 9

Related Questions