@Override public int getNumRunningFlows() { return this.manager.getRunningFlows().size(); }
@Ignore @Test public void testFetchAllActiveFlows() throws Exception { testSetUpForRunningFlows(); final List<ExecutableFlow> flows = this.manager.getRunningFlows(); for (final Pair<ExecutionReference, ExecutableFlow> pair : this.activeFlows.values()) { Assert.assertTrue(flows.contains(pair.getSecond())); } }
final List<Integer> running = getRunningFlows(projectId, flowId);
@Test public void testQueuedFlows() throws Exception { final ExecutorManager manager = createMultiExecutorManagerInstance(); final ExecutableFlow flow1 = TestUtils.createTestExecutableFlow("exectest1", "exec1"); flow1.setExecutionId(1); final ExecutableFlow flow2 = TestUtils.createTestExecutableFlow("exectest1", "exec2"); flow2.setExecutionId(2); final User testUser = TestUtils.getTestUser(); manager.submitExecutableFlow(flow1, testUser.getUserId()); manager.submitExecutableFlow(flow2, testUser.getUserId()); final List<Integer> testFlows = Arrays.asList(flow1.getExecutionId(), flow2.getExecutionId()); final List<Pair<ExecutionReference, ExecutableFlow>> queuedFlowsDB = this.loader.fetchQueuedFlows(); Assert.assertEquals(queuedFlowsDB.size(), testFlows.size()); // Verify things are correctly setup in db for (final Pair<ExecutionReference, ExecutableFlow> pair : queuedFlowsDB) { Assert.assertTrue(testFlows.contains(pair.getSecond().getExecutionId())); } // Verify running flows using old definition of "running" flows i.e. a // non-dispatched flow is also considered running final List<Integer> managerActiveFlows = manager.getRunningFlows() .stream().map(ExecutableFlow::getExecutionId).collect(Collectors.toList()); Assert.assertTrue(managerActiveFlows.containsAll(testFlows) && testFlows.containsAll(managerActiveFlows)); // Verify getQueuedFlowIds method Assert.assertEquals("[1, 2]", manager.getQueuedFlowIds()); }
@Ignore @Test public void testFetchActiveFlowByProject() throws Exception { testSetUpForRunningFlows(); final List<Integer> executions = this.manager.getRunningFlows(this.flow1.getProjectId(), this.flow1.getFlowId()); Assert.assertTrue(executions.contains(this.flow1.getExecutionId())); Assert .assertTrue(this.manager.isFlowRunning(this.flow1.getProjectId(), this.flow1.getFlowId())); }
@Test public void testKillQueuedFlow() throws Exception { final ExecutorManager manager = createMultiExecutorManagerInstance(); final ExecutableFlow flow1 = TestUtils.createTestExecutableFlow("exectest1", "exec1"); final User testUser = TestUtils.getTestUser(); manager.submitExecutableFlow(flow1, testUser.getUserId()); manager.cancelFlow(flow1, testUser.getUserId()); final ExecutableFlow fetchedFlow = this.loader.fetchExecutableFlow(flow1.getExecutionId()); Assert.assertEquals(fetchedFlow.getStatus(), Status.FAILED); Assert.assertFalse(manager.getRunningFlows().contains(flow1)); }
@Override public int getNumRunningFlows() { return this.manager.getRunningFlows().size(); }
@Override public int getNumRunningFlows() { return this.manager.getRunningFlows().size(); }
exflow.setSubmitTime(System.currentTimeMillis()); List<Integer> running = getRunningFlows(projectId, flowId);
final List<Integer> running = getRunningFlows(projectId, flowId);