是否有标准方法记录Quartz执行任务所需的时间?我也对基于Spring的解决方案持开放态度,因为我正在使用它们。
答案 0 :(得分:3)
您可以使用通用计时库,例如ERMA。它与spring结合得非常好。
答案 1 :(得分:2)
您可以实施JobListener并将其作为global job listener添加到调度程序。
这将为您提供一些关于何时执行作业以及何时完成执行的挂钩。您应该能够使用这些钩子来记录作业的开始和结束时间,然后记录运行时间。
答案 2 :(得分:0)
您可以使用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();
-
https://www.googleapis.com/gmail/v1/users/userId/labels/id