public static void syncJobDefs(DbConn cnx, List<JobDefDto> dtos) { for (JobDefDto existing : getJobDef(cnx)) { boolean foundInNewSet = false; for (JobDefDto newdto : dtos) { if (newdto.getId() != null && newdto.getId().equals(existing.getId())) { foundInNewSet = true; break; } } if (!foundInNewSet) { deleteJobDef(cnx, existing.getId()); } } for (JobDefDto dto : dtos) { upsertJobDef(cnx, dto); } }
public static void syncJobDefs(DbConn cnx, List<JobDefDto> dtos) { for (JobDefDto existing : getJobDef(cnx)) { boolean foundInNewSet = false; for (JobDefDto newdto : dtos) { if (newdto.getId() != null && newdto.getId().equals(existing.getId())) { foundInNewSet = true; break; } } if (!foundInNewSet) { deleteJobDef(cnx, existing.getId()); } } for (JobDefDto dto : dtos) { upsertJobDef(cnx, dto); } }
JobDefDto dto = MetaService.getJobDef(cnx, i); Assert.assertEquals(0, dto.getParameters().size()); JobDefDto dto2 = MetaService.getJobDef(cnx, i); Assert.assertEquals(1, dto2.getSchedules().size()); Assert.assertEquals("5 * * * *", dto2.getSchedules().get(0).getCronExpression()); dto2 = MetaService.getJobDef(cnx, i); Assert.assertEquals(update.getTimeInMillis(), dto2.getSchedules().get(0).getLastUpdated().getTimeInMillis()); MetaService.upsertJobDef(cnx, dto2); cnx.commit(); dto2 = MetaService.getJobDef(cnx, i); Assert.assertEquals(1, dto2.getSchedules().get(0).getParameters().size()); Assert.assertNotEquals(update.getTimeInMillis(), dto2.getSchedules().get(0).getLastUpdated().getTimeInMillis()); MetaService.upsertJobDef(cnx, dto2); cnx.commit(); dto2 = MetaService.getJobDef(cnx, i); Assert.assertEquals(0, dto2.getSchedules().get(0).getParameters().size()); MetaService.upsertJobDef(cnx, dto2); cnx.commit(); dto2 = MetaService.getJobDef(cnx, i); Assert.assertEquals(0, dto2.getSchedules().size()); dto2 = MetaService.getJobDef(cnx, i); Assert.assertEquals(2, dto2.getSchedules().size());
@Test // Commented - waiting for one minute is long. public void testSimpleSchedule() { int id = CreationTools.createJobDef(null, true, "pyl.EngineApiSendMsg", null, "jqm-tests/jqm-test-pyl/target/test.jar", TestHelpers.qVip, 42, "MarsuApplication", null, "Franquin", "ModuleMachin", "other", "other", true, cnx); int scheduleId = JobRequest.create("MarsuApplication", "test user").setRecurrence("* * * * *").addParameter("key1", "value1") .submit(); JobDef jd_client = JqmClientFactory.getClient().getJobDefinition("MarsuApplication"); Assert.assertEquals(id, (int) jd_client.getId()); Assert.assertEquals(1, jd_client.getSchedules().size()); Assert.assertEquals(scheduleId, jd_client.getSchedules().get(0).getId()); Assert.assertEquals("* * * * *", jd_client.getSchedules().get(0).getCronExpression()); addAndStartEngine(); TestHelpers.waitFor(1, 150000, cnx); Assert.assertEquals(1, TestHelpers.getOkCount(cnx)); JobDefDto jd = MetaService.getJobDef(cnx, id); Assert.assertEquals(1, jd.getSchedules().size()); JqmClientFactory.getClient().removeRecurrence(scheduleId); jd = MetaService.getJobDef(cnx, id); Assert.assertEquals(0, jd.getSchedules().size()); Assert.assertTrue(Query.create().run().get(0).isFromSchedule()); }
JobDefDto jd = MetaService.getJobDef(cnx, idJobDef); Assert.assertEquals(3, (int) jd.getSchedules().get(0).getPriority()); Assert.assertEquals("* * * * *", jd.getSchedules().get(0).getCronExpression()); jd = MetaService.getJobDef(cnx, idJobDef); Assert.assertEquals("1 * * * *", jd.getSchedules().get(0).getCronExpression()); jd = MetaService.getJobDef(cnx, idJobDef); Assert.assertEquals(TestHelpers.qSlow, jd.getSchedules().get(0).getQueue()); jd = MetaService.getJobDef(cnx, idJobDef); Assert.assertEquals(4, (int) jd.getSchedules().get(0).getPriority());