【问题标题】:Check whether the job is running or not?检查作业是否正在运行?
【发布时间】:2014-08-25 10:30:46
【问题描述】:

我想检查 Quartz 作业是否正在运行。我发现它可以使用 scheduler.getCurrentlyExecutingJobs()。 BuI对此感到困惑,我应该把它放在哪里才能得到结果? 谢谢

try {

        // specify the job' s details..
        JobDetail job = JobBuilder.newJob(TestJob.class)
            .withIdentity("testJob")
            .build();

        // specify the running period of the job
        Trigger trigger = TriggerBuilder.newTrigger()
              .withSchedule(  
                    SimpleScheduleBuilder.simpleSchedule()
                    .withIntervalInSeconds(10)
                    .repeatForever())  
                         .build();  

        //schedule the job
        SchedulerFactory schFactory = new StdSchedulerFactory();
        Scheduler sch = schFactory.getScheduler();
        sch.start();            
        sch.scheduleJob(job, trigger);

        System.out.println("******* " + sch.getCurrentlyExecutingJobs());

    } catch (SchedulerException e) {
        e.printStackTrace();
    }

【问题讨论】:

    标签: java cron quartz-scheduler job-scheduling


    【解决方案1】:

    您可以使用 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;
               }               
           }
    

    【讨论】:

    • getCurrentlyExecutingJobs() docs 的一条注释:“此方法不支持集群。也就是说,它只会返回当前在此调度程序实例中执行的作业,而不是跨整个集群。”
    猜你喜欢
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 2016-03-23
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多