本文整理了Java中com.netflix.conductor.common.metadata.tasks.Task.setReferenceTaskName()
方法的一些代码示例,展示了Task.setReferenceTaskName()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Task.setReferenceTaskName()
方法的具体详情如下:
包路径:com.netflix.conductor.common.metadata.tasks.Task
类名称:Task
方法名:setReferenceTaskName
暂无
代码示例来源:origin: Netflix/conductor
@Test
public void testView() throws Exception {
Task task = new Task();
task.setReferenceTaskName("test");
List<Task> listOfTask = new ArrayList<>();
listOfTask.add(task);
when(mockAdminService.getListOfPendingTask(anyString(), anyInt(), anyInt())).thenReturn(listOfTask);
assertEquals(listOfTask, adminResource.view("testTask", 0, 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
@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
task.setReferenceTaskName("task2");
task.getOutputData().put("location", "http://location");
task.setStatus(Task.Status.COMPLETED);
task2.setReferenceTaskName("task3");
task2.getOutputData().put("refId", "abcddef_1234_7890_aaffcc");
task2.setStatus(Task.Status.SCHEDULED);
代码示例来源:origin: Netflix/conductor
task.setReferenceTaskName("task2");
task.getOutputData().put("location", "http://location");
task.setStatus(Status.COMPLETED);
task2.setReferenceTaskName("task3");
task2.getOutputData().put("refId", "abcddef_1234_7890_aaffcc");
task2.setStatus(Status.SCHEDULED);
代码示例来源:origin: Netflix/conductor
eventTask.setTaskType(Event.NAME);
eventTask.setTaskDefName(taskToSchedule.getName());
eventTask.setReferenceTaskName(taskToSchedule.getTaskReferenceName());
eventTask.setWorkflowInstanceId(workflowInstance.getWorkflowId());
eventTask.setWorkflowType(workflowInstance.getWorkflowName());
代码示例来源:origin: Netflix/conductor
@Test
public void testGetTaskInputV1() {
Map<String, Object> ip = new HashMap<>();
ip.put("workflowInputParam", "workflow.input.requestId");
ip.put("taskOutputParam", "task2.output.location");
WorkflowDef def = new WorkflowDef();
def.setSchemaVersion(1);
Workflow workflow = new Workflow();
workflow.setWorkflowDefinition(def);
workflow.getInput().put("requestId", "request id 001");
Task task = new Task();
task.setReferenceTaskName("task2");
task.getOutputData().put("location", "http://location");
task.getOutputData().put("isPersonActive", true);
workflow.getTasks().add(task);
Map<String, Object> taskInput = parametersUtils.getTaskInput(ip, workflow, null, null);
assertNotNull(taskInput);
assertTrue(taskInput.containsKey("workflowInputParam"));
assertTrue(taskInput.containsKey("taskOutputParam"));
assertEquals("request id 001", taskInput.get("workflowInputParam"));
assertEquals("http://location", taskInput.get("taskOutputParam"));
}
代码示例来源:origin: Netflix/conductor
joinTask.setTaskType(SystemTaskType.JOIN.name());
joinTask.setTaskDefName(SystemTaskType.JOIN.name());
joinTask.setReferenceTaskName(taskToSchedule.getTaskReferenceName());
joinTask.setWorkflowInstanceId(workflowInstance.getWorkflowId());
joinTask.setCorrelationId(workflowInstance.getCorrelationId());
代码示例来源:origin: Netflix/conductor
@Test
public void testCompleteTask() throws Exception {
TaskDetails taskDetails = new TaskDetails();
taskDetails.setWorkflowId("${workflowId}");
taskDetails.setTaskRefName("testTask");
Action action = new Action();
action.setAction(Type.complete_task);
action.setComplete_task(taskDetails);
Object payload = new ObjectMapper().readValue("{\"workflowId\":\"workflow_1\"}", Object.class);
Task task = new Task();
task.setReferenceTaskName("testTask");
Workflow workflow = new Workflow();
workflow.getTasks().add(task);
when(workflowExecutor.getWorkflow(eq("workflow_1"), anyBoolean())).thenReturn(workflow);
actionProcessor.execute(action, payload, "testEvent", "testMessage");
ArgumentCaptor<TaskResult> argumentCaptor = ArgumentCaptor.forClass(TaskResult.class);
verify(workflowExecutor).updateTask(argumentCaptor.capture());
assertEquals(Status.COMPLETED, argumentCaptor.getValue().getStatus());
assertEquals("testMessage", argumentCaptor.getValue().getOutputData().get("conductor.event.messageId"));
assertEquals("testEvent", argumentCaptor.getValue().getOutputData().get("conductor.event.name"));
assertEquals("workflow_1", argumentCaptor.getValue().getOutputData().get("workflowId"));
assertEquals("testTask", argumentCaptor.getValue().getOutputData().get("taskRefName"));
}
代码示例来源:origin: Netflix/conductor
@Test
public void testValidateTasks() {
List<Task> tasks = new ArrayList<>();
// create tasks for a workflow and add to list
Task task1 = new Task();
task1.setWorkflowInstanceId("uuid");
task1.setTaskId("task1id");
task1.setReferenceTaskName("task1");
tasks.add(task1);
Task task2 = new Task();
task2.setWorkflowInstanceId("uuid");
task2.setTaskId("task2id");
task2.setReferenceTaskName("task2");
tasks.add(task2);
executionDAO.validateTasks(tasks);
// add a task from a different workflow to the list
Task task3 = new Task();
task3.setWorkflowInstanceId("other-uuid");
task3.setTaskId("task3id");
task3.setReferenceTaskName("task3");
tasks.add(task3);
expectedException.expect(ApplicationException.class);
expectedException.expectMessage("Tasks of multiple workflows cannot be created/updated simultaneously");
executionDAO.validateTasks(tasks);
}
代码示例来源:origin: Netflix/conductor
@Test
public void testCompleteTaskByTaskId() throws Exception {
TaskDetails taskDetails = new TaskDetails();
taskDetails.setWorkflowId("${workflowId}");
taskDetails.setTaskId("${taskId}");
Action action = new Action();
action.setAction(Type.complete_task);
action.setComplete_task(taskDetails);
Object payload = new ObjectMapper().readValue("{\"workflowId\":\"workflow_1\", \"taskId\":\"task_1\"}", Object.class);
Task task = new Task();
task.setTaskId("task_1");
task.setReferenceTaskName("testTask");
when(workflowExecutor.getTask(eq("task_1"))).thenReturn(task);
actionProcessor.execute(action, payload, "testEvent", "testMessage");
ArgumentCaptor<TaskResult> argumentCaptor = ArgumentCaptor.forClass(TaskResult.class);
verify(workflowExecutor).updateTask(argumentCaptor.capture());
assertEquals(Status.COMPLETED, argumentCaptor.getValue().getStatus());
assertEquals("testMessage", argumentCaptor.getValue().getOutputData().get("conductor.event.messageId"));
assertEquals("testEvent", argumentCaptor.getValue().getOutputData().get("conductor.event.name"));
assertEquals("workflow_1", argumentCaptor.getValue().getOutputData().get("workflowId"));
assertEquals("task_1", argumentCaptor.getValue().getOutputData().get("taskId"));
}
}
代码示例来源:origin: Netflix/conductor
task1.setReferenceTaskName("task1");
task1.setRetryCount(1);
task2.setReferenceTaskName("task2");
task2.setRetryCount(2);
newTask.setReferenceTaskName("newTask");
newTask.setRetryCount(0);
代码示例来源: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
@Test
public void testGetTaskByRef() {
Workflow workflow = new Workflow();
Task t1 = new Task();
t1.setReferenceTaskName("ref");
t1.setSeq(0);
t1.setStatus(Status.TIMED_OUT);
Task t2 = new Task();
t2.setReferenceTaskName("ref");
t2.setSeq(1);
t2.setStatus(Status.FAILED);
Task t3 = new Task();
t3.setReferenceTaskName("ref");
t3.setSeq(2);
t3.setStatus(Status.COMPLETED);
workflow.getTasks().add(t1);
workflow.getTasks().add(t2);
workflow.getTasks().add(t3);
Task task = workflow.getTaskByRefName("ref");
assertNotNull(task);
assertEquals(Status.COMPLETED, task.getStatus());
assertEquals(t3.getSeq(), task.getSeq());
}
代码示例来源: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
@Test
public void testTaskExceedsLimit() {
TaskDef taskDefinition = new TaskDef();
taskDefinition.setName("task1");
taskDefinition.setConcurrentExecLimit(1);
WorkflowTask workflowTask = new WorkflowTask();
workflowTask.setName("task1");
workflowTask.setTaskDefinition(taskDefinition);
workflowTask.setTaskDefinition(taskDefinition);
List<Task> tasks = new LinkedList<>();
for (int i = 0; i < 15; i++) {
Task task = new Task();
task.setScheduledTime(1L);
task.setSeq(i + 1);
task.setTaskId("t_" + i);
task.setWorkflowInstanceId("workflow_" + i);
task.setReferenceTaskName("task1");
task.setTaskDefName("task1");
tasks.add(task);
task.setStatus(Task.Status.SCHEDULED);
task.setWorkflowTask(workflowTask);
}
getExecutionDAO().createTasks(tasks);
assertFalse(getExecutionDAO().exceedsInProgressLimit(tasks.get(0)));
tasks.get(0).setStatus(Task.Status.IN_PROGRESS);
getExecutionDAO().updateTask(tasks.get(0));
for (Task task : tasks) {
assertTrue(getExecutionDAO().exceedsInProgressLimit(task));
}
}
代码示例来源: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;
}
代码示例来源:origin: Netflix/conductor
task.setReferenceTaskName("task0");
task.setTaskId("task_id_0");
task.setStatus(Status.IN_PROGRESS);
内容来源于网络,如有侵权,请联系作者删除!