Кварцевое выражение, которое запускается каждую минуту только один раз

У меня есть это кварцевое выражение cron: exp = "0 * * ? * *", которое запускается каждую минуту. Я использую это выражение в качестве триггера для вызова метода HTTP POST каждую минуту. Проблема в том, что он вызывает метод post несколько раз. Мне нужно выражение, которое будет выполняться один раз в минуту. Любое предложение, как это сделать?


person Eraldo Forgoli    schedule 16.08.2018    source источник


Ответы (4)


Это работает с кварцем.

Каждую 1 минуту, ровно в начале минуты - 0 0/1 * * * ?

person Anil Konduru    schedule 27.08.2018

Как насчет простого триггера расписания?

trigger = newTrigger()
    .withIdentity("trigger7", "group1")
    .withSchedule(simpleSchedule()
        .withIntervalInMinutes(1) )
    .build();

Источник: Quartz tutorial-lesson-05. / Создайте триггер, который будет срабатывать сейчас, а затем повторяться каждые пять минут

person Alex Ar    schedule 17.08.2018

Это может произойти из-за того, что запрос длится дольше 1 мин. Вы можете просто аннотировать класс, реализованный с помощью заданий, с помощью @DisallowConcurrentExecution, что запрещает выполнение вашего задания несколько раз в точное время. Вы можете посмотреть пример .

person Xavizo    schedule 23.10.2018

используйте это выражение:

"* * * * *"
т.е. 5 звездочек
попробуйте использовать это. используйте эту ссылку для справки:
https://crontab.guru/every-1-minute

person dangi13    schedule 16.08.2018
comment
Это не работает. Выражение недействительно. Выражение должно быть кварцевым. - person Eraldo Forgoli; 17.08.2018