Как отменить запланированную работу в Кварце - PullRequest
15 голосов
/ 24 ноября 2010

Я использую Spring для добавления планировщика Quartz (абстрагируемого с помощью интерфейса SpringScheduler) в мое приложение, которое загружает задания, настроенные из базы данных при запуске.

Каждое задание в планировщике добавляется примерно так:

TaskScheduler taskScheduler = ...;//injected    
Runnable runableThing = ...;
String cronExpression = ...; //from DB
taskScheduler.schedule(runableThing, new CronTrigger(cronExpression));

у меня такой вопрос: возможно ли указать что-то вроде job_id, которое впоследствии можно будет использовать для отмены задания / триггера - скажем, в ответ на выбор пользователем задания, которое будет отменено в веб-интерфейсе?

Я посмотрел документы Spring и не могу найти способ сделать это.

Любые идеи с благодарностью приняты.

Ответы [ 2 ]

23 голосов
/ 24 ноября 2010

Непланирование определенного запуска задания

scheduler.unscheduleJob(triggerName, triggerGroup);

Удаление задания и планирование всех его триггеров

scheduler.deleteJob(jobName, jobGroup);

Ссылка: http://www.opensymphony.com/quartz/wikidocs/UnscheduleJob.html

1 голос
/ 13 июня 2013
ScheduledFuture<V> job = taskSchedule.schedule(runableThing, new CronTrigger(cronExpression))
job.cancel(true); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...