com.netflix.conductor.common.metadata.tasks.Task.setTaskType()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(15.6k)|赞(0)|评价(0)|浏览(130)

本文整理了Java中com.netflix.conductor.common.metadata.tasks.Task.setTaskType()方法的一些代码示例,展示了Task.setTaskType()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Task.setTaskType()方法的具体详情如下:
包路径:com.netflix.conductor.common.metadata.tasks.Task
类名称:Task
方法名:setTaskType

Task.setTaskType介绍

暂无

代码示例

代码示例来源:origin: Netflix/conductor

@Test
public void testBatchPoll() throws Exception{
  Task task = new Task();
  task.setTaskType("SIMPLE");
  task.setWorkerId("123");
  task.setDomain("test");
  List<Task> listOfTasks = new ArrayList<>();
  listOfTasks.add(task);
  when(mockTaskService.batchPoll(anyString(), anyString(), anyString(), anyInt(), anyInt())).thenReturn(listOfTasks);
  assertEquals(listOfTasks, taskResource.batchPoll("SIMPLE", "123",
      "test", 1, 100));
}

代码示例来源:origin: Netflix/conductor

/**
 * This method creates a FORK task and adds the list of dynamic fork tasks keyed by "forkedTaskDefs" and
 * their names keyed by "forkedTasks" into {@link Task#getInputData()}
 *
 * @param taskToSchedule    A {@link WorkflowTask} representing {@link TaskType#FORK_JOIN_DYNAMIC}
 * @param workflowInstance: A instance of the {@link Workflow} which represents the workflow being executed.
 * @param taskId:           The string representation of {@link java.util.UUID} which will be set as the taskId.
 * @param dynForkTasks:     The list of dynamic forked tasks, the reference names of these tasks will be added to the forkDynamicTask
 * @return A new instance of {@link Task} representing a {@link SystemTaskType#FORK}
 */
@VisibleForTesting
Task createDynamicForkTask(WorkflowTask taskToSchedule, Workflow workflowInstance, String taskId, List<WorkflowTask> dynForkTasks) {
  Task forkDynamicTask = new Task();
  forkDynamicTask.setTaskType(SystemTaskType.FORK.name());
  forkDynamicTask.setTaskDefName(SystemTaskType.FORK.name());
  forkDynamicTask.setReferenceTaskName(taskToSchedule.getTaskReferenceName());
  forkDynamicTask.setWorkflowInstanceId(workflowInstance.getWorkflowId());
  forkDynamicTask.setCorrelationId(workflowInstance.getCorrelationId());
  forkDynamicTask.setScheduledTime(System.currentTimeMillis());
  forkDynamicTask.setEndTime(System.currentTimeMillis());
  List<String> forkedTaskNames = dynForkTasks.stream()
      .map(WorkflowTask::getTaskReferenceName)
      .collect(Collectors.toList());
  forkDynamicTask.getInputData().put("forkedTasks", forkedTaskNames);
  forkDynamicTask.getInputData().put("forkedTaskDefs", dynForkTasks);    //TODO: Remove this parameter in the later releases
  forkDynamicTask.setTaskId(taskId);
  forkDynamicTask.setStatus(Task.Status.COMPLETED);
  forkDynamicTask.setWorkflowTask(taskToSchedule);
  return forkDynamicTask;
}

代码示例来源:origin: Netflix/conductor

@Test
public void testGetInProgressTasks() throws Exception {
  Task task = new Task();
  task.setTaskType("SIMPLE");
  task.setWorkerId("123");
  task.setDomain("test");
  task.setStatus(Task.Status.IN_PROGRESS);
  List<Task> listOfTasks = new ArrayList<>();
  listOfTasks.add(task);
  when(mockTaskService.getTasks(anyString(), anyString(), anyInt())).thenReturn(listOfTasks);
  assertEquals(listOfTasks, taskResource.getTasks("SIMPLE", "123", 123));
}

代码示例来源:origin: Netflix/conductor

@Test
public void testPoll() throws Exception {
  Task task = new Task();
  task.setTaskType("SIMPLE");
  task.setWorkerId("123");
  task.setDomain("test");
  when(mockTaskService.poll(anyString(), anyString(), anyString())).thenReturn(task);
  assertEquals(task, taskResource.poll("SIMPLE", "123", "test"));
}

代码示例来源:origin: Netflix/conductor

@Test
public void testGetPendingTaskForWorkflow() {
  Task task = new Task();
  task.setTaskType("SIMPLE");
  task.setWorkerId("123");
  task.setDomain("test");
  task.setStatus(Task.Status.IN_PROGRESS);
  when(mockTaskService.getPendingTaskForWorkflow(anyString(), anyString())).thenReturn(task);
  assertEquals(task, taskResource.getPendingTaskForWorkflow("SIMPLE", "123"));
}

代码示例来源:origin: Netflix/conductor

@Override
public List<Task> getMappedTasks(TaskMapperContext taskMapperContext) {
  logger.debug("TaskMapperContext {} in SubWorkflowTaskMapper", taskMapperContext);
  WorkflowTask taskToSchedule = taskMapperContext.getTaskToSchedule();
  Workflow workflowInstance = taskMapperContext.getWorkflowInstance();
  String taskId = taskMapperContext.getTaskId();
  //Check if the are sub workflow parameters, if not throw an exception, cannot initiate a sub-workflow without workflow params
  SubWorkflowParams subWorkflowParams = getSubWorkflowParams(taskToSchedule);
  Map<String, Object> resolvedParams = getSubWorkflowInputParameters(workflowInstance, subWorkflowParams);
  String subWorkflowName = resolvedParams.get("name").toString();
  Integer subWorkflowVersion = getSubWorkflowVersion(resolvedParams, subWorkflowName);
  Task subWorkflowTask = new Task();
  subWorkflowTask.setTaskType(SubWorkflow.NAME);
  subWorkflowTask.setTaskDefName(taskToSchedule.getName());
  subWorkflowTask.setReferenceTaskName(taskToSchedule.getTaskReferenceName());
  subWorkflowTask.setWorkflowInstanceId(workflowInstance.getWorkflowId());
  subWorkflowTask.setWorkflowType(workflowInstance.getWorkflowName());
  subWorkflowTask.setCorrelationId(workflowInstance.getCorrelationId());
  subWorkflowTask.setScheduledTime(System.currentTimeMillis());
  subWorkflowTask.getInputData().put("subWorkflowName", subWorkflowName);
  subWorkflowTask.getInputData().put("subWorkflowVersion", subWorkflowVersion);
  subWorkflowTask.getInputData().put("workflowInput", taskMapperContext.getTaskInput());
  subWorkflowTask.setTaskId(taskId);
  subWorkflowTask.setStatus(Task.Status.SCHEDULED);
  subWorkflowTask.setWorkflowTask(taskToSchedule);
  logger.debug("SubWorkflowTask {} created to be Scheduled", subWorkflowTask);
  return Collections.singletonList(subWorkflowTask);
}

代码示例来源:origin: Netflix/conductor

@Test
public void testGetTask() throws Exception {
  Task task = new Task();
  task.setTaskType("SIMPLE");
  task.setWorkerId("123");
  task.setDomain("test");
  task.setStatus(Task.Status.IN_PROGRESS);
  when(mockTaskService.getTask(anyString())).thenReturn(task);
  assertEquals(task, taskResource.getTask("123"));
}

代码示例来源:origin: Netflix/conductor

@Test
  public void search() {
    Task task = new Task();
    task.setTaskType("SIMPLE");
    task.setWorkerId("123");
    task.setDomain("test");
    task.setStatus(Task.Status.IN_PROGRESS);
    TaskSummary taskSummary = new TaskSummary(task);
    ArrayList<TaskSummary> listOfTaskSummary = new ArrayList<TaskSummary>() {{
      add(taskSummary);
    }};
    SearchResult<TaskSummary> searchResult = new SearchResult<TaskSummary>(100, listOfTaskSummary);
    listOfTaskSummary.add(taskSummary);

    when(mockTaskService.search(anyInt(), anyInt(), anyString(), anyString(), anyString())).thenReturn(searchResult);
    assertEquals(searchResult, taskResource.search(0,100,"asc", "*", "*"));
  }
}

代码示例来源:origin: Netflix/conductor

eventTask.setTaskType(Event.NAME);
eventTask.setTaskDefName(taskToSchedule.getName());
eventTask.setReferenceTaskName(taskToSchedule.getTaskReferenceName());

代码示例来源:origin: Netflix/conductor

joinTask.setTaskType(SystemTaskType.JOIN.name());
joinTask.setTaskDefName(SystemTaskType.JOIN.name());
joinTask.setReferenceTaskName(taskToSchedule.getTaskReferenceName());

代码示例来源:origin: Netflix/conductor

userDefinedTask.setTaskType(taskToSchedule.getType());
userDefinedTask.setTaskDefName(taskToSchedule.getName());
userDefinedTask.setReferenceTaskName(taskToSchedule.getTaskReferenceName());

代码示例来源:origin: Netflix/conductor

/**
 * This method creates a JOIN task that is used in the {@link this#getMappedTasks(TaskMapperContext)}
 * at the end to add a join task to be scheduled after all the fork tasks
 *
 * @param workflowInstance: A instance of the {@link Workflow} which represents the workflow being executed.
 * @param joinWorkflowTask: A instance of {@link WorkflowTask} which is of type {@link TaskType#JOIN}
 * @param joinInput:        The input which is set in the {@link Task#setInputData(Map)}
 * @return a new instance of {@link Task} representing a {@link SystemTaskType#JOIN}
 */
@VisibleForTesting
Task createJoinTask(Workflow workflowInstance, WorkflowTask joinWorkflowTask, HashMap<String, Object> joinInput) {
  Task joinTask = new Task();
  joinTask.setTaskType(SystemTaskType.JOIN.name());
  joinTask.setTaskDefName(SystemTaskType.JOIN.name());
  joinTask.setReferenceTaskName(joinWorkflowTask.getTaskReferenceName());
  joinTask.setWorkflowInstanceId(workflowInstance.getWorkflowId());
  joinTask.setWorkflowType(workflowInstance.getWorkflowName());
  joinTask.setCorrelationId(workflowInstance.getCorrelationId());
  joinTask.setScheduledTime(System.currentTimeMillis());
  joinTask.setInputData(joinInput);
  joinTask.setTaskId(IDGenerator.generate());
  joinTask.setStatus(Task.Status.IN_PROGRESS);
  joinTask.setWorkflowTask(joinWorkflowTask);
  return joinTask;
}

代码示例来源:origin: Netflix/conductor

@Override
  public List<Task> getMappedTasks(TaskMapperContext taskMapperContext) {

    logger.debug("TaskMapperContext {} in WaitTaskMapper", taskMapperContext);

    WorkflowTask taskToSchedule = taskMapperContext.getTaskToSchedule();
    Workflow workflowInstance = taskMapperContext.getWorkflowInstance();
    String taskId = taskMapperContext.getTaskId();

    Map<String, Object> waitTaskInput = parametersUtils.getTaskInputV2(taskMapperContext.getTaskToSchedule().getInputParameters(),
        workflowInstance, taskId, null);

    Task waitTask = new Task();
    waitTask.setTaskType(Wait.NAME);
    waitTask.setTaskDefName(taskMapperContext.getTaskToSchedule().getName());
    waitTask.setReferenceTaskName(taskMapperContext.getTaskToSchedule().getTaskReferenceName());
    waitTask.setWorkflowInstanceId(workflowInstance.getWorkflowId());
    waitTask.setWorkflowType(workflowInstance.getWorkflowName());
    waitTask.setCorrelationId(workflowInstance.getCorrelationId());
    waitTask.setScheduledTime(System.currentTimeMillis());
    waitTask.setInputData(waitTaskInput);
    waitTask.setTaskId(taskId);
    waitTask.setStatus(Task.Status.IN_PROGRESS);
    waitTask.setWorkflowTask(taskToSchedule);
    return Collections.singletonList(waitTask);
  }
}

代码示例来源:origin: Netflix/conductor

simpleTask.setWorkflowType(workflowInstance.getWorkflowName());
simpleTask.setStatus(Task.Status.SCHEDULED);
simpleTask.setTaskType(taskToSchedule.getName());
simpleTask.setTaskDefName(taskToSchedule.getName());
simpleTask.setCorrelationId(workflowInstance.getCorrelationId());

代码示例来源:origin: Netflix/conductor

@Test
@SuppressWarnings("unchecked")
public void testCorrelateTaskToWorkflowInDS() {
  String workflowId = "workflowId";
  String taskId = "taskId1";
  String taskDefName = "task1";
  TaskDef def = new TaskDef();
  def.setName("task1");
  def.setConcurrentExecLimit(1);
  Task task = new Task();
  task.setTaskId(taskId);
  task.setWorkflowInstanceId(workflowId);
  task.setReferenceTaskName("ref_name");
  task.setTaskDefName(taskDefName);
  task.setTaskType(taskDefName);
  task.setStatus(Status.IN_PROGRESS);
  List<Task> tasks = executionDAO.createTasks(Collections.singletonList(task));
  assertNotNull(tasks);
  assertEquals(1, tasks.size());
  executionDAO.correlateTaskToWorkflowInDS(taskId, workflowId);
  tasks = executionDAO.getTasksForWorkflow(workflowId);
  assertNotNull(tasks);
  assertEquals(workflowId, tasks.get(0).getWorkflowInstanceId());
  assertEquals(taskId, tasks.get(0).getTaskId());
}

代码示例来源:origin: Netflix/conductor

task1.setTaskType("junit_task_l1");
task1.setReferenceTaskName("s1");
task1.setSeq(1);
task2.setTaskType("junit_task_l2");
task2.setReferenceTaskName("s2");
task2.setSeq(2);

代码示例来源:origin: Netflix/conductor

@Test
public void indexTask() throws Exception {
  String correlationId = "some-correlation-id";
  Task task = new Task();
  task.setTaskId("some-task-id");
  task.setWorkflowInstanceId("some-workflow-instance-id");
  task.setTaskType("some-task-type");
  task.setStatus(Status.FAILED);
  task.setInputData(new HashMap<String, Object>() {{ put("input_key", "input_value"); }});
  task.setCorrelationId(correlationId);
  task.setTaskDefName("some-task-def-name");
  task.setReasonForIncompletion("some-failure-reason");
  indexDAO.indexTask(task);
  await()
      .atMost(5, TimeUnit.SECONDS)
      .untilAsserted(() -> {
        SearchResult<String> result = indexDAO
            .searchTasks("correlationId='" + correlationId + "'", "*", 0, 10000, null);
        assertTrue("should return 1 or more search results", result.getResults().size() > 0);
        assertEquals("taskId should match the indexed task", "some-task-id", result.getResults().get(0));
      });
}

代码示例来源:origin: Netflix/conductor

@Test
public void indexTask() throws Exception {
  String correlationId = "some-correlation-id";
  Task task = new Task();
  task.setTaskId("some-task-id");
  task.setWorkflowInstanceId("some-workflow-instance-id");
  task.setTaskType("some-task-type");
  task.setStatus(Status.FAILED);
  task.setInputData(new HashMap<String, Object>() {{ put("input_key", "input_value"); }});
  task.setCorrelationId(correlationId);
  task.setTaskDefName("some-task-def-name");
  task.setReasonForIncompletion("some-failure-reason");
  indexDAO.indexTask(task);
  await()
      .atMost(5, TimeUnit.SECONDS)
      .untilAsserted(() -> {
        SearchResult<String> result = indexDAO
            .searchTasks("correlationId='" + correlationId + "'", "*", 0, 10000, null);
        assertTrue("should return 1 or more search results", result.getResults().size() > 0);
        assertEquals("taskId should match the indexed task", "some-task-id", result.getResults().get(0));
      });
}

代码示例来源: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: Netflix/conductor

public Task copy() {
  Task copy = new Task();
  copy.setCallbackAfterSeconds(callbackAfterSeconds);
  copy.setCallbackFromWorker(callbackFromWorker);
  copy.setCorrelationId(correlationId);
  copy.setInputData(inputData);
  copy.setOutputData(outputData);
  copy.setReferenceTaskName(referenceTaskName);
  copy.setStartDelayInSeconds(startDelayInSeconds);
  copy.setTaskDefName(taskDefName);
  copy.setTaskType(taskType);
  copy.setWorkflowInstanceId(workflowInstanceId);
  copy.setWorkflowType(workflowType);
  copy.setResponseTimeoutSeconds(responseTimeoutSeconds);
  copy.setStatus(status);
  copy.setRetryCount(retryCount);
  copy.setPollCount(pollCount);
  copy.setTaskId(taskId);
  copy.setWorkflowTask(workflowTask);
  copy.setDomain(domain);
  copy.setInputMessage(inputMessage);
  copy.setOutputMessage(outputMessage);
  copy.setRateLimitPerFrequency(rateLimitPerFrequency);
  copy.setRateLimitFrequencyInSeconds(rateLimitFrequencyInSeconds);
  copy.setExternalInputPayloadStoragePath(externalInputPayloadStoragePath);
  copy.setExternalOutputPayloadStoragePath(externalOutputPayloadStoragePath);
  return copy;
}

相关文章

Task类方法