public void onEvent()

in myriad-scheduler/src/main/java/org/apache/myriad/scheduler/event/handlers/StatusUpdateEventHandler.java [65:104]


  public void onEvent(StatusUpdateEvent event, long sequence, boolean endOfBatch) throws Exception {
    TaskStatus status = event.getStatus();
    this.schedulerState.updateTask(status);
    TaskID taskId = status.getTaskId();
    NodeTask task = schedulerState.getTask(taskId);
    if (task == null) {
      LOGGER.warn("Task: {} not found, status: {}", taskId.getValue(), status.getState());
      schedulerState.removeTask(taskId);
      return;
    }
    LOGGER.info("Status Update for task: {} | state: {}", taskId.getValue(), status.getState());
    TaskState state = status.getState();

    switch (state) {
      case TASK_STAGING:
        schedulerState.makeTaskStaging(taskId);
        break;
      case TASK_STARTING:
        schedulerState.makeTaskStaging(taskId);
        break;
      case TASK_RUNNING:
        schedulerState.makeTaskActive(taskId);
        break;
      case TASK_FINISHED:
        cleanupTask(taskId, task, "finished");
        break;
      case TASK_FAILED:
        cleanupFailedTask(taskId, task, "failed");
        break;
      case TASK_KILLED:
        cleanupTask(taskId, task, "killed");
        break;
      case TASK_LOST:
        cleanupFailedTask(taskId, task, "lost");
        break;
      default:
        LOGGER.error("Invalid state: {}", state);
        break;
    }
  }