Java 检查作业是否正在运行?
我想检查Quartz作业是否正在运行。我发现它可以使用。但是我对此感到困惑,我应该把它放在哪里才能得到结果呢? 谢谢Java 检查作业是否正在运行?,java,cron,quartz-scheduler,job-scheduling,Java,Cron,Quartz Scheduler,Job Scheduling,我想检查Quartz作业是否正在运行。我发现它可以使用。但是我对此感到困惑,我应该把它放在哪里才能得到结果呢? 谢谢 您可以使用scheduler.getCurrentlyExecutingJobs()获取当前正在运行的所有作业的列表 List<JobExecutionContext> currentJobs = scheduler.getCurrentlyExecutingJobs(); for (JobExecutionContext jobCtx:
您可以使用scheduler.getCurrentlyExecutingJobs()获取当前正在运行的所有作业的列表
List<JobExecutionContext> currentJobs = scheduler.getCurrentlyExecutingJobs();
for (JobExecutionContext jobCtx: currentJobs){
jobName = jobCtx.getJobDetail().getName();
groupName = jobCtx.getJobDetail().getGroup();
if (jobName.equalsIgnoreCase("job_I_am_looking_for_name") && groupName.equalsIgnoreCase("job_group_I_am_looking_for_name")) {
//found it!
logger.warn("the job is already running - do nothing");
return;
}
}
List currentJobs=scheduler.getCurrentlyExecutingJobs();
对于(JobExecutionContext jobCtx:currentJobs){
jobName=jobCtx.getJobDetail().getName();
groupName=jobCtx.getJobDetail().getGroup();
if(jobName.equalsIgnoreCase(“job\u I\u正在寻找\u名称”)和&groupName.equalsIgnoreCase(“job\u group\u I\u正在寻找\u名称”)){
//找到了!
logger.warn(“作业已在运行-不执行任何操作”);
返回;
}
}
getCurrentlyExecutingJobs()docs中的一条注释:“此方法不支持群集。也就是说,它只返回当前在此调度程序实例中执行的作业,而不返回整个群集。”
List<JobExecutionContext> currentJobs = scheduler.getCurrentlyExecutingJobs();
for (JobExecutionContext jobCtx: currentJobs){
jobName = jobCtx.getJobDetail().getName();
groupName = jobCtx.getJobDetail().getGroup();
if (jobName.equalsIgnoreCase("job_I_am_looking_for_name") && groupName.equalsIgnoreCase("job_group_I_am_looking_for_name")) {
//found it!
logger.warn("the job is already running - do nothing");
return;
}
}