@Override public void setJobQueue(int idJob, com.enioka.jqm.api.Queue queue) { setJobQueue(idJob, queue.getId()); }
private static com.enioka.jqm.api.Queue getQueue(Queue queue) { com.enioka.jqm.api.Queue q = new com.enioka.jqm.api.Queue(); q.setDescription(queue.getDescription()); q.setId(queue.getId()); q.setName(queue.getName()); return q; }
res.setUser(rs.getString(26)); com.enioka.jqm.api.Queue q = new com.enioka.jqm.api.Queue(); q.setId(rs.getInt(29)); q.setName(rs.getString(22)); res.setQueue(q);
@Test public void testChangeQueue() throws Exception { CreationTools.createJobDef(null, true, "App", null, "jqm-tests/jqm-test-datetimemaven/target/test.jar", TestHelpers.qVip, 42, "MarsuApplication", null, "Franquin", "ModuleMachin", "other", "other", false, cnx); int i = JobRequest.create("MarsuApplication", "TestUser").submit(); JqmClientFactory.getClient().setJobQueue(i, TestHelpers.qSlow); addAndStartEngine(); TestHelpers.waitFor(1, 10000, cnx); List<JobInstance> res = Query.create().addSortAsc(Sort.DATEENQUEUE).run(); Assert.assertEquals(1, res.size()); Assert.assertEquals(State.ENDED, res.get(0).getState()); Assert.assertEquals("SlowQueue", res.get(0).getQueue().getName()); }
@Test public void testEnqueueWithQueue() throws Exception { CreationTools.createJobDef(null, true, "App", null, "jqm-tests/jqm-test-datetimemaven/target/test.jar", TestHelpers.qVip, 42, "MarsuApplication", null, "Franquin", "ModuleMachin", "other", "other", false, cnx); int i = JobRequest.create("MarsuApplication", "TestUser").setQueueName("NormalQueue").submit(); addAndStartEngine(); TestHelpers.waitFor(1, 10000, cnx); JobInstance ji = JqmClientFactory.getClient().getJob(i); Assert.assertEquals("NormalQueue", ji.getQueue().getName()); }
@Override public void setJobQueue(int idJob, com.enioka.jqm.api.Queue queue) { setJobQueue(idJob, queue.getId()); }
@Override public QueueStatus getQueueStatus(Queue q) { try { return target.path("q/" + q.getId() + "/status").request().get().readEntity(QueueStatus.class); } catch (BadRequestException e) { throw new JqmInvalidRequestException(e.getResponse().readEntity(String.class), e); } catch (Exception e) { throw new JqmClientException(e); } }
@Override public int getQueueEnabledCapacity(Queue q) { try { return target.path("q/" + q.getId() + "/enabled-capacity").request().get().readEntity(Integer.class); } catch (BadRequestException e) { throw new JqmInvalidRequestException(e.getResponse().readEntity(String.class), e); } catch (Exception e) { throw new JqmClientException(e); } }
@Override public void pauseQueue(Queue q) { try { target.path("q/" + q.getId() + "/pause").request().post(null); } catch (BadRequestException e) { throw new JqmInvalidRequestException(e.getResponse().readEntity(String.class), e); } catch (Exception e) { throw new JqmClientException(e); } }
@Override public void clearQueue(Queue q) { try { target.path("q/" + q.getId() + "/clear").request().post(null); } catch (BadRequestException e) { throw new JqmInvalidRequestException(e.getResponse().readEntity(String.class), e); } catch (Exception e) { throw new JqmClientException(e); } }
@Override public void resumeQueue(Queue q) { try { target.path("q/" + q.getId() + "/pause").request().delete(); } catch (BadRequestException e) { throw new JqmInvalidRequestException(e.getResponse().readEntity(String.class), e); } catch (Exception e) { throw new JqmClientException(e); } }
@Override public void pauseQueue(com.enioka.jqm.api.Queue q) { DbConn cnx = null; try { cnx = getDbSession(); cnx.runUpdate("dp_update_enable_by_queue_id", Boolean.FALSE, q.getId()); cnx.commit(); jqmlogger.info("Queue {} has been paused", q.getId()); } catch (Exception e) { throw new JqmClientException("could not pause queue", e); } finally { closeQuietly(cnx); } }
@Override public void resumeQueue(com.enioka.jqm.api.Queue q) { DbConn cnx = null; try { cnx = getDbSession(); cnx.runUpdate("dp_update_enable_by_queue_id", Boolean.TRUE, q.getId()); cnx.commit(); jqmlogger.info("Queue {} has been resumed", q.getId()); } catch (Exception e) { throw new JqmClientException("could not pause queue", e); } finally { closeQuietly(cnx); } }
@Override public void clearQueue(com.enioka.jqm.api.Queue q) { DbConn cnx = null; try { cnx = getDbSession(); QueryResult qr = cnx.runUpdate("ji_delete_waiting_in_queue_id", q.getId()); cnx.commit(); jqmlogger.info("{} waiting job instances were removed from queue {}", qr.nbUpdated, q.getId()); } catch (Exception e) { throw new JqmClientException("could not clear queue", e); } finally { closeQuietly(cnx); } }
@Override public int getQueueEnabledCapacity(com.enioka.jqm.api.Queue q) { int capacity = 0; DbConn cnx = null; try { cnx = getDbSession(); ResultSet rs = cnx.runSelect("dp_select_sum_queue_capacity", q.getId()); while (rs.next()) { capacity = rs.getInt(1); } } catch (Exception e) { throw new JqmClientException("could not query queue capacity around nodes", e); } finally { closeQuietly(cnx); } return capacity; }
ResultSet rs = cnx.runSelect("dp_select_enabled_for_queue", q.getId());
for (com.enioka.jqm.api.Queue q : getQueues()) queues.put(q.getId(), q);
@Test public void testClearQueue() { CreationTools.createJobDef(null, true, "pyl.CallYieldAtOnce", null, "jqm-tests/jqm-test-pyl/target/test.jar", TestHelpers.qVip, 42, "MarsuApplication", null, "Franquin", "ModuleMachin", "other", "other", false, cnx); Queue qV = null; for (Queue q : JqmClientFactory.getClient().getQueues()) { if (q.getId() == TestHelpers.qVip) { qV = q; break; } } JobRequest.create("MarsuApplication", "TestUser").submit(); JobRequest.create("MarsuApplication", "TestUser").submit(); JobRequest.create("MarsuApplication", "TestUser").submit(); Assert.assertEquals(3, TestHelpers.getQueueAllCount(cnx)); JqmClientFactory.getClient().clearQueue(qV); Assert.assertEquals(0, TestHelpers.getQueueAllCount(cnx)); }
for (Queue q : JqmClientFactory.getClient().getQueues()) if (q.getId() == TestHelpers.qVip)