Search in sources :

Example 51 with Task

use of com.netflix.conductor.common.metadata.tasks.Task in project conductor by Netflix.

the class AbstractProtoMapper method toProto.

public WorkflowPb.Workflow toProto(Workflow from) {
    WorkflowPb.Workflow.Builder to = WorkflowPb.Workflow.newBuilder();
    if (from.getStatus() != null) {
        to.setStatus(toProto(from.getStatus()));
    }
    to.setEndTime(from.getEndTime());
    if (from.getWorkflowId() != null) {
        to.setWorkflowId(from.getWorkflowId());
    }
    if (from.getParentWorkflowId() != null) {
        to.setParentWorkflowId(from.getParentWorkflowId());
    }
    if (from.getParentWorkflowTaskId() != null) {
        to.setParentWorkflowTaskId(from.getParentWorkflowTaskId());
    }
    for (Task elem : from.getTasks()) {
        to.addTasks(toProto(elem));
    }
    for (Map.Entry<String, Object> pair : from.getInput().entrySet()) {
        to.putInput(pair.getKey(), toProto(pair.getValue()));
    }
    for (Map.Entry<String, Object> pair : from.getOutput().entrySet()) {
        to.putOutput(pair.getKey(), toProto(pair.getValue()));
    }
    if (from.getWorkflowType() != null) {
        to.setWorkflowType(from.getWorkflowType());
    }
    to.setVersion(from.getVersion());
    if (from.getCorrelationId() != null) {
        to.setCorrelationId(from.getCorrelationId());
    }
    if (from.getReRunFromWorkflowId() != null) {
        to.setReRunFromWorkflowId(from.getReRunFromWorkflowId());
    }
    if (from.getReasonForIncompletion() != null) {
        to.setReasonForIncompletion(from.getReasonForIncompletion());
    }
    to.setSchemaVersion(from.getSchemaVersion());
    if (from.getEvent() != null) {
        to.setEvent(from.getEvent());
    }
    to.putAllTaskToDomain(from.getTaskToDomain());
    to.addAllFailedReferenceTaskNames(from.getFailedReferenceTaskNames());
    if (from.getWorkflowDefinition() != null) {
        to.setWorkflowDefinition(toProto(from.getWorkflowDefinition()));
    }
    if (from.getExternalInputPayloadStoragePath() != null) {
        to.setExternalInputPayloadStoragePath(from.getExternalInputPayloadStoragePath());
    }
    if (from.getExternalOutputPayloadStoragePath() != null) {
        to.setExternalOutputPayloadStoragePath(from.getExternalOutputPayloadStoragePath());
    }
    to.setPriority(from.getPriority());
    for (Map.Entry<String, Object> pair : from.getVariables().entrySet()) {
        to.putVariables(pair.getKey(), toProto(pair.getValue()));
    }
    to.setLastRetriedTime(from.getLastRetriedTime());
    return to.build();
}
Also used : Task(com.netflix.conductor.common.metadata.tasks.Task) DynamicForkJoinTask(com.netflix.conductor.common.metadata.workflow.DynamicForkJoinTask) WorkflowTask(com.netflix.conductor.common.metadata.workflow.WorkflowTask) Workflow(com.netflix.conductor.common.run.Workflow) Object(java.lang.Object) String(java.lang.String) HashMap(java.util.HashMap) Map(java.util.Map)

Example 52 with Task

use of com.netflix.conductor.common.metadata.tasks.Task in project conductor by Netflix.

the class TestElasticSearchRestDAOV7 method shouldIndexTask.

@Test
public void shouldIndexTask() {
    Workflow workflow = TestUtils.loadWorkflowSnapshot("workflow");
    Task task = workflow.getTasks().get(0);
    TaskSummary summary = new TaskSummary(task);
    indexDAO.indexTask(task);
    List<String> tasks = tryFindResults(() -> searchTasks(workflow));
    assertEquals(summary.getTaskId(), tasks.get(0));
}
Also used : Task(com.netflix.conductor.common.metadata.tasks.Task) TaskSummary(com.netflix.conductor.common.run.TaskSummary) Workflow(com.netflix.conductor.common.run.Workflow) Test(org.junit.Test)

Example 53 with Task

use of com.netflix.conductor.common.metadata.tasks.Task in project conductor by Netflix.

the class TestElasticSearchRestDAOV7 method shouldIndexTaskAsync.

@Test
public void shouldIndexTaskAsync() throws Exception {
    Workflow workflow = TestUtils.loadWorkflowSnapshot("workflow");
    Task task = workflow.getTasks().get(0);
    TaskSummary summary = new TaskSummary(task);
    indexDAO.asyncIndexTask(task).get();
    List<String> tasks = tryFindResults(() -> searchTasks(workflow));
    assertEquals(summary.getTaskId(), tasks.get(0));
}
Also used : Task(com.netflix.conductor.common.metadata.tasks.Task) TaskSummary(com.netflix.conductor.common.run.TaskSummary) Workflow(com.netflix.conductor.common.run.Workflow) Test(org.junit.Test)

Example 54 with Task

use of com.netflix.conductor.common.metadata.tasks.Task in project conductor by Netflix.

the class TestElasticSearchRestDAOV7 method indexTaskWithBatchSizeTwo.

@Test
public void indexTaskWithBatchSizeTwo() throws Exception {
    embeddedElasticSearch.stop();
    startElasticSearchWithBatchSize(2);
    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(Task.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);
    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));
    });
    embeddedElasticSearch.stop();
    startElasticSearchWithBatchSize(1);
}
Also used : Task(com.netflix.conductor.common.metadata.tasks.Task) Test(org.junit.Test)

Example 55 with Task

use of com.netflix.conductor.common.metadata.tasks.Task in project conductor by Netflix.

the class TaskResourceTest method testGetInProgressTasks.

@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));
}
Also used : Task(com.netflix.conductor.common.metadata.tasks.Task) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Aggregations

Task (com.netflix.conductor.common.metadata.tasks.Task)357 Workflow (com.netflix.conductor.common.run.Workflow)249 Test (org.junit.Test)248 WorkflowTask (com.netflix.conductor.common.metadata.workflow.WorkflowTask)227 HashMap (java.util.HashMap)147 WorkflowDef (com.netflix.conductor.common.metadata.workflow.WorkflowDef)121 SubWorkflow (com.netflix.conductor.core.execution.tasks.SubWorkflow)110 TaskDef (com.netflix.conductor.common.metadata.tasks.TaskDef)95 UserTask (com.netflix.conductor.tests.utils.UserTask)73 Map (java.util.Map)53 LinkedList (java.util.LinkedList)51 WorkflowSystemTask (com.netflix.conductor.core.execution.tasks.WorkflowSystemTask)45 List (java.util.List)45 ApplicationException (com.netflix.conductor.core.execution.ApplicationException)41 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)39 TaskResult (com.netflix.conductor.common.metadata.tasks.TaskResult)38 Status (com.netflix.conductor.common.metadata.tasks.Task.Status)32 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)29 Collectors (java.util.stream.Collectors)29 TaskType (com.netflix.conductor.common.metadata.workflow.TaskType)28