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

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

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

Task.setScheduledTime介绍

暂无

代码示例

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

@Override
public List<Task> createTasks(List<Task> tasks) {
  List<Task> created = Lists.newArrayListWithCapacity(tasks.size());
  withTransaction(connection -> {
    for (Task task : tasks) {
      validate(task);
      task.setScheduledTime(System.currentTimeMillis());
      final String taskKey = taskKey(task);
      boolean scheduledTaskAdded = addScheduledTask(connection, task, taskKey);
      if (!scheduledTaskAdded) {
        logger.trace("Task already scheduled, skipping the run " + task.getTaskId() + ", ref="
            + task.getReferenceTaskName() + ", key=" + taskKey);
        continue;
      }
      insertOrUpdateTaskData(connection, task);
      addWorkflowToTaskMapping(connection, task);
      addTaskInProgress(connection, task);
      updateTask(connection, task);
      created.add(task);
    }
  });
  return created;
}

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

task.setScheduledTime(System.currentTimeMillis());
  session.execute(updateTaskLookupStatement.bind(UUID.fromString(workflowId), UUID.fromString(task.getTaskId())));
});

代码示例来源: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 testCreateTaskException2() {
  Task task = new Task();
  task.setScheduledTime(1L);
  task.setSeq(1);
  task.setTaskId(UUID.randomUUID().toString());
  task.setTaskDefName("task1");
  task.setWorkflowInstanceId(UUID.randomUUID().toString());
  expectedException.expect(ApplicationException.class);
  expectedException.expectMessage("Task reference name cannot be null");
  getExecutionDAO().createTasks(Collections.singletonList(task));
}

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

eventTask.setWorkflowType(workflowInstance.getWorkflowName());
eventTask.setCorrelationId(workflowInstance.getCorrelationId());
eventTask.setScheduledTime(System.currentTimeMillis());
eventTask.setInputData(eventTaskInput);
eventTask.getInputData().put("sink", sink);

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

joinTask.setCorrelationId(workflowInstance.getCorrelationId());
joinTask.setWorkflowType(workflowInstance.getWorkflowName());
joinTask.setScheduledTime(System.currentTimeMillis());
joinTask.setInputData(joinInput);
joinTask.setTaskId(taskId);

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

@Override
public List<Task> createTasks(List<Task> tasks) {
  List<Task> tasksCreated = new LinkedList<>();
  for (Task task : tasks) {
    validate(task);
    recordRedisDaoRequests("createTask", task.getTaskType(), task.getWorkflowType());
    String taskKey = task.getReferenceTaskName() + "" + task.getRetryCount();
    Long added = dynoClient.hset(nsKey(SCHEDULED_TASKS, task.getWorkflowInstanceId()), taskKey, task.getTaskId());
    if (added < 1) {
      logger.debug("Task already scheduled, skipping the run " + task.getTaskId() + ", ref=" + task.getReferenceTaskName() + ", key=" + taskKey);
      continue;
    }
    task.setScheduledTime(System.currentTimeMillis());
    correlateTaskToWorkflowInDS(task.getTaskId(), task.getWorkflowInstanceId());
    logger.debug("Scheduled task added to WORKFLOW_TO_TASKS workflowId: {}, taskId: {}, taskType: {} during createTasks",
        task.getWorkflowInstanceId(), task.getTaskId(), task.getTaskType());
    String inProgressTaskKey = nsKey(IN_PROGRESS_TASKS, task.getTaskDefName());
    dynoClient.sadd(inProgressTaskKey, task.getTaskId());
    logger.debug("Scheduled task added to IN_PROGRESS_TASKS with inProgressTaskKey: {}, workflowId: {}, taskId: {}, taskType: {} during createTasks",
        inProgressTaskKey, task.getWorkflowInstanceId(), task.getTaskId(), task.getTaskType());
    updateTask(task);
    tasksCreated.add(task);
  }
  return tasksCreated;
}

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

@Test
public void testCreateTaskException() {
  Task task = new Task();
  task.setScheduledTime(1L);
  task.setSeq(1);
  task.setTaskId(UUID.randomUUID().toString());
  task.setTaskDefName("task1");
  expectedException.expect(ApplicationException.class);
  expectedException.expectMessage("Workflow instance id cannot be null");
  getExecutionDAO().createTasks(Collections.singletonList(task));
  task.setWorkflowInstanceId(UUID.randomUUID().toString());
  expectedException.expect(ApplicationException.class);
  expectedException.expectMessage("Task reference name cannot be null");
  getExecutionDAO().createTasks(Collections.singletonList(task));
}

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

userDefinedTask.setWorkflowType(workflowInstance.getWorkflowName());
userDefinedTask.setCorrelationId(workflowInstance.getCorrelationId());
userDefinedTask.setScheduledTime(System.currentTimeMillis());
userDefinedTask.setTaskId(taskId);
userDefinedTask.setInputData(input);

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

forkTask.setWorkflowType(workflowInstance.getWorkflowName());
forkTask.setCorrelationId(workflowInstance.getCorrelationId());
forkTask.setScheduledTime(System.currentTimeMillis());
forkTask.setEndTime(System.currentTimeMillis());
forkTask.setInputData(taskInput);

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

httpTask.setWorkflowType(workflowInstance.getWorkflowName());
httpTask.setCorrelationId(workflowInstance.getCorrelationId());
httpTask.setScheduledTime(System.currentTimeMillis());
httpTask.setTaskId(taskId);
httpTask.setInputData(input);

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

@Test
public void testExecute() {
  Task task = new Task();
  Input input = new Input();
  input.setUri("http://localhost:7009/json");
  input.setMethod("GET");
  task.getInputData().put(HttpTask.REQUEST_PARAMETER_NAME, input);
  task.setStatus(Status.SCHEDULED);
  task.setScheduledTime(0);
  boolean executed = httpTask.execute(workflow, task, workflowExecutor);
  assertFalse(executed);
}

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

task.setScheduledTime(1L);
  task.setSeq(i + 1);
  task.setTaskId(workflowId + "_t" + i);
task.setScheduledTime(1L);
task.setSeq(1);
task.setTaskId(workflowId + "_t" + 2);
task.setScheduledTime(1L);
task.setSeq(1);
task.setTaskId(workflowId + "_t" + 1);

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

simpleTask.setTaskDefName(taskToSchedule.getName());
simpleTask.setCorrelationId(workflowInstance.getCorrelationId());
simpleTask.setScheduledTime(System.currentTimeMillis());
simpleTask.setRetryCount(retryCount);
simpleTask.setCallbackAfterSeconds(taskToSchedule.getStartDelay());

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

to.setPollCount( from.getPollCount() );
to.setTaskDefName( from.getTaskDefName() );
to.setScheduledTime( from.getScheduledTime() );
to.setStartTime( from.getStartTime() );
to.setEndTime( from.getEndTime() );

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

dynamicTask.setTaskDefName(taskToSchedule.getName());
dynamicTask.setCorrelationId(workflowInstance.getCorrelationId());
dynamicTask.setScheduledTime(System.currentTimeMillis());
dynamicTask.setRetryCount(retryCount);
dynamicTask.setCallbackAfterSeconds(taskToSchedule.getStartDelay());

相关文章

Task类方法