Search in sources :

Example 16 with Job

use of org.quartz.Job in project spring-boot by spring-projects.

the class QuartzEndpointTests method quartzJobWithoutTrigger.

@Test
void quartzJobWithoutTrigger() throws SchedulerException {
    JobDetail job = JobBuilder.newJob(Job.class).withIdentity("hello", "samples").withDescription("A sample job").storeDurably().requestRecovery(false).build();
    mockJobs(job);
    QuartzJobDetails jobDetails = this.endpoint.quartzJob("samples", "hello");
    assertThat(jobDetails.getGroup()).isEqualTo("samples");
    assertThat(jobDetails.getName()).isEqualTo("hello");
    assertThat(jobDetails.getDescription()).isEqualTo("A sample job");
    assertThat(jobDetails.getClassName()).isEqualTo(Job.class.getName());
    assertThat(jobDetails.isDurable()).isTrue();
    assertThat(jobDetails.isRequestRecovery()).isFalse();
    assertThat(jobDetails.getData()).isEmpty();
    assertThat(jobDetails.getTriggers()).isEmpty();
}
Also used : JobDetail(org.quartz.JobDetail) QuartzJobDetails(org.springframework.boot.actuate.quartz.QuartzEndpoint.QuartzJobDetails) Job(org.quartz.Job) DelegatingJob(org.springframework.scheduling.quartz.DelegatingJob) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 17 with Job

use of org.quartz.Job in project searchcode-server by boyter.

the class EnqueueFileRepositoryJob method execute.

public void execute(JobExecutionContext context) {
    if (this.indexService.shouldPause(IIndexService.JobType.REPO_ADDER)) {
        return;
    }
    try {
        Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
        UniqueRepoQueue repoQueue = Singleton.getUniqueFileRepoQueue();
        // Filter out those queued to be deleted and not file repositories
        List<RepoResult> repoResultList = this.helpers.filterRunningAndDeletedRepoJobs(Singleton.getRepo().getAllRepo()).stream().filter(x -> x.getScm().equals(Values.FILE)).collect(Collectors.toList());
        this.logger.info(String.format("4f37a297::adding %d file repositories to be indexed", repoResultList.size()));
        for (RepoResult rr : repoResultList) {
            if (Singleton.getEnqueueFileRepositoryJobFirstRun()) {
                rr.getData().jobRunTime = Instant.parse("1800-01-01T00:00:00.000Z");
                this.repo.saveRepo(rr);
                this.logger.info(String.format("40cd7595::resetting job run time due to firstRun %b repoName %s", Singleton.getEnqueueFileRepositoryJobFirstRun(), rr.getName()));
            }
            switch(rr.getScm().toLowerCase()) {
                case Values.FILE:
                    this.logger.info(String.format("18310da9::adding to file queue reponame %s", rr.getName()));
                    repoQueue.add(rr);
                    break;
                default:
                    break;
            }
        }
        Singleton.setEnqueueFileRepositoryJob(false);
    } catch (Exception ex) {
        this.logger.severe(String.format("056c9f75::error in class %s exception %s", ex.getClass(), ex.getMessage()));
        Singleton.setEnqueueFileRepositoryJob(false);
    }
}
Also used : Helpers(com.searchcode.app.util.Helpers) JobExecutionContext(org.quartz.JobExecutionContext) Singleton(com.searchcode.app.service.Singleton) RepoResult(com.searchcode.app.model.RepoResult) IIndexService(com.searchcode.app.service.index.IIndexService) IRepo(com.searchcode.app.dao.IRepo) Job(org.quartz.Job) Instant(java.time.Instant) Collectors(java.util.stream.Collectors) UniqueRepoQueue(com.searchcode.app.util.UniqueRepoQueue) Values(com.searchcode.app.config.Values) LoggerWrapper(com.searchcode.app.util.LoggerWrapper) List(java.util.List) DisallowConcurrentExecution(org.quartz.DisallowConcurrentExecution) PersistJobDataAfterExecution(org.quartz.PersistJobDataAfterExecution) UniqueRepoQueue(com.searchcode.app.util.UniqueRepoQueue) RepoResult(com.searchcode.app.model.RepoResult)

Aggregations

Job (org.quartz.Job)17 JobDetail (org.quartz.JobDetail)9 JobDataMap (org.quartz.JobDataMap)6 SchedulerException (org.quartz.SchedulerException)5 Trigger (org.quartz.Trigger)5 CronScheduleBuilder (org.quartz.CronScheduleBuilder)4 JobBuilder (org.quartz.JobBuilder)4 Date (java.util.Date)3 Scheduler (org.quartz.Scheduler)3 Serializable (java.io.Serializable)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 JobExecutionContext (org.quartz.JobExecutionContext)2 JobKey (org.quartz.JobKey)2 SimpleScheduleBuilder (org.quartz.SimpleScheduleBuilder)2 TriggerBuilder (org.quartz.TriggerBuilder)2 Logger (org.slf4j.Logger)2 ScheduleTrigger (com.monitor.model.task.ScheduleTrigger)1 Values (com.searchcode.app.config.Values)1 IRepo (com.searchcode.app.dao.IRepo)1