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();
}
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));
}
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));
}
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);
}
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));
}
Aggregations