@Test(dependsOnMethods = {"testUpdate"}) public void testQueryByJobName() throws IOException { JobExecutionQuery queryByJobName = new JobExecutionQuery(); queryByJobName.setIdType(QueryIdTypeEnum.JOB_NAME); queryByJobName.setId(JobExecutionQuery.Id.create(this.expectedJobExecutionInfos.get(0).getJobName())); List<JobExecutionInfo> result = this.jobHistoryStore.get(queryByJobName); Assert.assertEquals(result.size(), 1); JobExecutionInfo actual = result.get(0); JobExecutionInfo expected = this.expectedJobExecutionInfos.get(0); assertJobExecution(actual, expected); }
@Test(dependsOnMethods = {"testUpdate"}) public void testQueryByJobId() throws IOException { JobExecutionQuery queryByJobId = new JobExecutionQuery(); queryByJobId.setIdType(QueryIdTypeEnum.JOB_ID); queryByJobId.setId(JobExecutionQuery.Id.create(this.expectedJobExecutionInfos.get(0).getJobId())); List<JobExecutionInfo> result = this.jobHistoryStore.get(queryByJobId); Assert.assertEquals(result.size(), 1); JobExecutionInfo actual = result.get(0); JobExecutionInfo expected = this.expectedJobExecutionInfos.get(0); assertJobExecution(actual, expected); }
/** * Retrieve all jobs * * @param lookupType Query type * @return List of all jobs (limited by results limit) */ public List<JobExecutionInfo> queryAllJobs(QueryListType lookupType, int resultsLimit) throws RemoteInvocationException { JobExecutionQuery query = new JobExecutionQuery(); query.setIdType(QueryIdTypeEnum.LIST_TYPE); query.setId(JobExecutionQuery.Id.create(lookupType)); // Disable properties and task executions (prevents response size from ballooning) query.setJobProperties(ConfigurationKeys.JOB_RUN_ONCE_KEY + "," + ConfigurationKeys.JOB_SCHEDULE_KEY); query.setIncludeTaskExecutions(false); query.setLimit(resultsLimit); return executeQuery(query); }
/** * Retrieve a Gobblin job by its id. * * @param id Id of the job to retrieve * @return JobExecutionInfo representing the job */ public Optional<JobExecutionInfo> queryByJobId(String id) throws RemoteInvocationException { JobExecutionQuery query = new JobExecutionQuery(); query.setIdType(QueryIdTypeEnum.JOB_ID); query.setId(JobExecutionQuery.Id.create(id)); query.setLimit(1); List<JobExecutionInfo> results = executeQuery(query); return getFirstFromQueryResults(results); }
/** * Query jobs by name * * @param name Name of the job to query for * @param resultsLimit Max # of results to return * @return List of jobs with the name (empty list if none can be found) */ public List<JobExecutionInfo> queryByJobName(String name, int resultsLimit) throws RemoteInvocationException { JobExecutionQuery query = new JobExecutionQuery(); query.setIdType(QueryIdTypeEnum.JOB_NAME); query.setId(JobExecutionQuery.Id.create(name)); query.setIncludeTaskExecutions(false); query.setLimit(resultsLimit); return executeQuery(query); }
@Test public void testBatchGet() throws Exception { JobExecutionQuery queryByJobId1 = new JobExecutionQuery(); queryByJobId1.setIdType(QueryIdTypeEnum.JOB_ID); queryByJobId1.setId(JobExecutionQuery.Id.create(this.expected1.getJobId())); JobExecutionQuery queryByJobId2 = new JobExecutionQuery(); queryByJobId2.setIdType(QueryIdTypeEnum.JOB_ID); queryByJobId2.setId(JobExecutionQuery.Id.create(this.expected2.getJobId())); List<JobExecutionQuery> queries = Lists.newArrayList(queryByJobId1, queryByJobId2); List<JobExecutionQueryResult> result = Lists.newArrayList(this.client.batchGet(queries)); Assert.assertEquals(result.size(), 2); Assert.assertEquals(result.get(0).getJobExecutions().size(), 1); Assert.assertEquals(result.get(1).getJobExecutions().size(), 1); JobExecutionInfo actual1 = result.get(0).getJobExecutions().get(0); JobExecutionInfo actual2 = result.get(1).getJobExecutions().get(0); if (actual1.getJobName().equals(this.expected1.getJobName())) { assertJobExecution(actual1, this.expected1); assertJobExecution(actual2, this.expected2); } else { assertJobExecution(actual1, this.expected2); assertJobExecution(actual2, this.expected1); } }
/** * Query jobs by name * * @param name Name of the job to query for * @param resultsLimit Max # of results to return * @return List of jobs with the name (empty list if none can be found) */ public List<JobExecutionInfo> queryByJobName(String name, int resultsLimit) throws RemoteInvocationException { JobExecutionQuery query = new JobExecutionQuery(); query.setIdType(QueryIdTypeEnum.JOB_NAME); query.setId(JobExecutionQuery.Id.create(name)); query.setIncludeTaskExecutions(false); query.setLimit(resultsLimit); return executeQuery(query); }
/** * Retrieve all jobs * * @param lookupType Query type * @return List of all jobs (limited by results limit) */ public List<JobExecutionInfo> queryAllJobs(QueryListType lookupType, int resultsLimit) throws RemoteInvocationException { JobExecutionQuery query = new JobExecutionQuery(); query.setIdType(QueryIdTypeEnum.LIST_TYPE); query.setId(JobExecutionQuery.Id.create(lookupType)); // Disable properties and task executions (prevents response size from ballooning) query.setJobProperties(ConfigurationKeys.JOB_RUN_ONCE_KEY + "," + ConfigurationKeys.JOB_SCHEDULE_KEY); query.setIncludeTaskExecutions(false); query.setLimit(resultsLimit); return executeQuery(query); }
/** * Retrieve a Gobblin job by its id. * * @param id Id of the job to retrieve * @return JobExecutionInfo representing the job */ public Optional<JobExecutionInfo> queryByJobId(String id) throws RemoteInvocationException { JobExecutionQuery query = new JobExecutionQuery(); query.setIdType(QueryIdTypeEnum.JOB_ID); query.setId(JobExecutionQuery.Id.create(id)); query.setLimit(1); List<JobExecutionInfo> results = executeQuery(query); return getFirstFromQueryResults(results); }
@Test public void testGet() throws Exception { JobExecutionQuery queryByJobId = new JobExecutionQuery(); queryByJobId.setIdType(QueryIdTypeEnum.JOB_ID); queryByJobId.setId(JobExecutionQuery.Id.create(this.expected1.getJobId())); JobExecutionQueryResult result = this.client.get(queryByJobId); JobExecutionInfoArray jobExecutionInfos = result.getJobExecutions(); Assert.assertEquals(jobExecutionInfos.size(), 1); JobExecutionInfo actual = jobExecutionInfos.get(0); assertJobExecution(actual, this.expected1); }
@Test public void testBadGet() throws Exception { JobExecutionQuery queryByJobId = new JobExecutionQuery(); queryByJobId.setIdType(QueryIdTypeEnum.JOB_ID); queryByJobId.setId(JobExecutionQuery.Id.create(this.expected1.getJobId() + "1")); JobExecutionQueryResult result = this.client.get(queryByJobId); Assert.assertTrue(result.getJobExecutions().isEmpty()); }