Время выполнения кварцевого задания - PullRequest
2 голосов
/ 10 ноября 2009

Существует ли стандартный способ регистрации времени, которое Quartz тратит на выполнение задачи? Я также открыт для решений на базе Spring, так как использую оба.

Ответы [ 3 ]

3 голосов
/ 11 ноября 2009

Вы можете использовать универсальную библиотеку синхронизации, такую ​​как ERMA . Очень хорошо интегрируется с пружиной.

2 голосов
/ 11 ноября 2009

Можно реализовать JobListener и добавить его в качестве глобального прослушивателя заданий в планировщик.

Это даст вам некоторые приемы, когда задание будет выполнено и когда оно закончится. Вы должны быть в состоянии что-то сделать с этими хуками, чтобы записать время начала и окончания заданий, а затем записать время выполнения.

0 голосов
/ 15 мая 2018

Вы можете использовать JobListener для этого. Время выполнения задания даже определяется контекстом. Слушатель должен быть добавлен к используемому Scheduler:

public class GlobalJobRuntimeListener implements JobListener {
    //... other methods to overwrite 

    @Override
    public void jobWasExecuted(JobExecutionContext context, JobExecutionException jobException) {
        System.out.println("Job with key " + context.getJobDetail().getKey().toString()
                + " finished in " + context.getJobRunTime() + " ms.");
    }
}

-

Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.getListenerManager().addJobListener(new GlobalJobRuntimeListener());
scheduler.start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...