congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
DeciderService.decide
Code IndexAdd Tabnine to your IDE (free)

How to use
decide
method
in
com.netflix.conductor.core.execution.DeciderService

Best Java code snippets using com.netflix.conductor.core.execution.DeciderService.decide (Showing top 14 results out of 315)

origin: Netflix/conductor

public DeciderOutcome decide(Workflow workflow) throws TerminateWorkflowException {
  //In case of a new workflow the list of tasks will be empty
  final List<Task> tasks = workflow.getTasks();
  //In case of a new workflow the list of executedTasks will also be empty
  List<Task> executedTasks = tasks.stream()
      .filter(t -> !t.getStatus().equals(SKIPPED) && !t.getStatus().equals(READY_FOR_RERUN) && !t.isExecuted())
      .collect(Collectors.toList());
  List<Task> tasksToBeScheduled = new LinkedList<>();
  if (executedTasks.isEmpty()) {
    //this is the flow that the new workflow will go through
    tasksToBeScheduled = startWorkflow(workflow);
    if (tasksToBeScheduled == null) {
      tasksToBeScheduled = new LinkedList<>();
    }
  }
  return decide(workflow, tasksToBeScheduled);
}
origin: Netflix/conductor

@Test
public void testFork() throws IOException {
  InputStream stream = TestDeciderService.class.getResourceAsStream("/test.json");
  Workflow workflow = objectMapper.readValue(stream, Workflow.class);
  DeciderOutcome outcome = deciderService.decide(workflow);
  assertFalse(outcome.isComplete);
  assertEquals(5, outcome.tasksToBeScheduled.size());
  assertEquals(1, outcome.tasksToBeUpdated.size());
}
origin: Netflix/conductor

@Test
public void testWorkflowWithNoTasks() throws Exception {
  InputStream stream = TestDeciderOutcomes.class.getResourceAsStream("/conditional_flow.json");
  WorkflowDef def = objectMapper.readValue(stream, WorkflowDef.class);
  assertNotNull(def);
  Workflow workflow = new Workflow();
  workflow.setWorkflowDefinition(def);
  workflow.setStartTime(0);
  workflow.getInput().put("param1", "nested");
  workflow.getInput().put("param2", "one");
  DeciderOutcome outcome = deciderService.decide(workflow);
  assertNotNull(outcome);
  assertFalse(outcome.isComplete);
  assertTrue(outcome.tasksToBeUpdated.isEmpty());
  assertEquals(3, outcome.tasksToBeScheduled.size());
  System.out.println(outcome.tasksToBeScheduled);
  outcome.tasksToBeScheduled.forEach(t -> t.setStatus(Status.COMPLETED));
  workflow.getTasks().addAll(outcome.tasksToBeScheduled);
  outcome = deciderService.decide(workflow);
  assertFalse(outcome.isComplete);
  assertEquals(outcome.tasksToBeUpdated.toString(), 3, outcome.tasksToBeUpdated.size());
  assertEquals(1, outcome.tasksToBeScheduled.size());
  assertEquals("junit_task_3", outcome.tasksToBeScheduled.get(0).getTaskDefName());
  System.out.println(outcome.tasksToBeScheduled);
}
origin: Netflix/conductor

DeciderService.DeciderOutcome outcome = deciderService.decide(workflow);
if (outcome.isComplete) {
  completeWorkflow(workflow);
origin: Netflix/conductor

@Test
public void testCaseStatement() {
  WorkflowDef def = createConditionalWF();
  Workflow wf = new Workflow();
  wf.setWorkflowDefinition(def);
  wf.setCreateTime(0L);
  wf.setWorkflowId("a");
  wf.setCorrelationId("b");
  wf.setStatus(WorkflowStatus.RUNNING);
  DeciderOutcome outcome = deciderService.decide(wf);
  List<Task> scheduledTasks = outcome.tasksToBeScheduled;
  assertNotNull(scheduledTasks);
  assertEquals(2, scheduledTasks.size());
  assertEquals(Status.IN_PROGRESS, scheduledTasks.get(0).getStatus());
  assertEquals(Status.SCHEDULED, scheduledTasks.get(1).getStatus());
}
origin: Netflix/conductor

workflow.setWorkflowDefinition(def);
workflow.setStartTime(System.currentTimeMillis());
DeciderOutcome outcome = deciderService.decide(workflow);
assertNotNull(outcome);
workflow.getTasks().get(0).setStatus(Status.FAILED);
outcome = deciderService.decide(workflow);
origin: Netflix/conductor

workflow.getInput().put("requestId", 123);
workflow.setStartTime(System.currentTimeMillis());
DeciderOutcome outcome = deciderService.decide(workflow);
assertNotNull(outcome);
workflow.getTasks().addAll(outcome.tasksToBeScheduled);
outcome = deciderService.decide(workflow);
assertNotNull(outcome);
workflow.getInput().put("forkedInputs", forkedInputs);
outcome = deciderService.decide(workflow);
assertNotNull(outcome);
assertEquals(3, outcome.tasksToBeScheduled.size());
outcome = deciderService.decide(workflow);
assertTrue(outcome.tasksToBeScheduled.stream().anyMatch(task1 -> task1.getReferenceTaskName().equals("f0")));
origin: Netflix/conductor

workflow.setWorkflowDefinition(def);
workflow.setStartTime(System.currentTimeMillis());
DeciderOutcome outcome = deciderService.decide(workflow);
assertNotNull(outcome);
outcome = deciderService.decide(workflow);
assertEquals(2, outcome.tasksToBeScheduled.size());
assertEquals(decide.getTaskReferenceName(), outcome.tasksToBeScheduled.get(0).getReferenceTaskName());
outcome = deciderService.decide(workflow);
assertEquals(2, outcome.tasksToBeScheduled.size());
assertEquals(decide.getTaskReferenceName(), outcome.tasksToBeScheduled.get(0).getReferenceTaskName());
origin: Netflix/conductor

DeciderOutcome outcome = deciderService.decide(workflow);
assertNotNull(outcome);
assertEquals(5, outcome.tasksToBeScheduled.size());
outcome = deciderService.decide(workflow);
assertNotNull(outcome);
assertEquals(SystemTaskType.JOIN.name(), outcome.tasksToBeScheduled.get(0).getTaskType());
origin: Netflix/conductor

new DeciderService(parametersUtils, queueDAO, metadataDAO, externalPayloadStorageUtils, taskMappers).decide(workflow);
origin: Netflix/conductor

DeciderOutcome deciderOutcome = deciderService.decide(workflow);
assertNotNull(deciderOutcome);
workflow.getTasks().add(task2);
deciderOutcome = deciderService.decide(workflow);
assertNotNull(deciderOutcome);
assertTrue(workflow.getTaskByRefName("s2").isExecuted());
origin: Netflix/conductor

@Test
public void testDecideFailedTask() {
  WorkflowDef workflowDef = createLinearWorkflow();
  Workflow workflow = new Workflow();
  workflow.setWorkflowDefinition(workflowDef);
  workflow.setStatus(WorkflowStatus.RUNNING);
  Task task = new Task();
  task.setTaskType("junit_task_l1");
  task.setReferenceTaskName("s1");
  task.setSeq(1);
  task.setRetried(false);
  task.setExecuted(false);
  task.setStatus(Status.FAILED);
  WorkflowTask workflowTask = new WorkflowTask();
  workflowTask.setTaskReferenceName("s1");
  workflowTask.setName("junit_task_l1");
  workflowTask.setTaskDefinition(new TaskDef("junit_task_l1"));
  task.setWorkflowTask(workflowTask);
  workflow.getTasks().add(task);
  DeciderOutcome deciderOutcome = deciderService.decide(workflow);
  assertNotNull(deciderOutcome);
  assertFalse(workflow.getTaskByRefName("s1").isExecuted());
  assertTrue(workflow.getTaskByRefName("s1").isRetried());
  assertEquals(1, deciderOutcome.tasksToBeUpdated.size());
  assertEquals("s1", deciderOutcome.tasksToBeUpdated.get(0).getReferenceTaskName());
  assertEquals(1, deciderOutcome.tasksToBeScheduled.size());
  assertEquals("s1", deciderOutcome.tasksToBeScheduled.get(0).getReferenceTaskName());
  assertEquals(0, deciderOutcome.tasksToBeRequeued.size());
  assertFalse(deciderOutcome.isComplete);
}
origin: com.netflix.conductor/conductor-core

public DeciderOutcome decide(Workflow workflow) throws TerminateWorkflowException {
  //In case of a new workflow the list of tasks will be empty
  final List<Task> tasks = workflow.getTasks();
  //In case of a new workflow the list of executedTasks will also be empty
  List<Task> executedTasks = tasks.stream()
      .filter(t -> !t.getStatus().equals(SKIPPED) && !t.getStatus().equals(READY_FOR_RERUN) && !t.isExecuted())
      .collect(Collectors.toList());
  List<Task> tasksToBeScheduled = new LinkedList<>();
  if (executedTasks.isEmpty()) {
    //this is the flow that the new workflow will go through
    tasksToBeScheduled = startWorkflow(workflow);
    if (tasksToBeScheduled == null) {
      tasksToBeScheduled = new LinkedList<>();
    }
  }
  return decide(workflow, tasksToBeScheduled);
}
origin: com.netflix.conductor/conductor-core

DeciderService.DeciderOutcome outcome = deciderService.decide(workflow);
if (outcome.isComplete) {
  completeWorkflow(workflow);
com.netflix.conductor.core.executionDeciderServicedecide

Popular methods of DeciderService

  • getTasksToBeScheduled
  • isResponseTimedOut
  • populateWorkflowAndTaskData
    Populates the workflow input data and the tasks input/output data if stored in external payload stor
  • retry
  • updateWorkflowOutput
    Updates the workflow output.
  • <init>
  • checkForTimeout
  • checkForWorkflowCompletion
  • getNextTask
  • getNextTasksToBeScheduled
  • isTaskSkipped
  • startWorkflow
  • isTaskSkipped,
  • startWorkflow,
  • timeoutTask

Popular in Java

  • Reactive rest calls using spring rest template
  • scheduleAtFixedRate (ScheduledExecutorService)
  • getApplicationContext (Context)
  • getContentResolver (Context)
  • BigDecimal (java.math)
    An immutable arbitrary-precision signed decimal.A value is represented by an arbitrary-precision "un
  • URL (java.net)
    A Uniform Resource Locator that identifies the location of an Internet resource as specified by RFC
  • Semaphore (java.util.concurrent)
    A counting semaphore. Conceptually, a semaphore maintains a set of permits. Each #acquire blocks if
  • ThreadPoolExecutor (java.util.concurrent)
    An ExecutorService that executes each submitted task using one of possibly several pooled threads, n
  • JOptionPane (javax.swing)
  • Logger (org.apache.log4j)
    This is the central class in the log4j package. Most logging operations, except configuration, are d
  • Top plugins for Android Studio
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now