Search in sources :

Example 6 with StageType

use of com.alibaba.otter.shared.common.model.config.enums.StageType in project otter by alibaba.

the class OtterController method startPipeline.

// ===================== helper method ======================
public void startPipeline(NodeTask nodeTask) {
    Long pipelineId = nodeTask.getPipeline().getId();
    releasePipeline(pipelineId);
    Map<StageType, GlobalTask> tasks = controllers.get(pipelineId);
    // 处理具体的任务命令
    List<StageType> stage = nodeTask.getStage();
    List<TaskEvent> event = nodeTask.getEvent();
    for (int i = 0; i < stage.size(); i++) {
        StageType stageType = stage.get(i);
        TaskEvent taskEvent = event.get(i);
        if (taskEvent.isCreate()) {
            startTask(nodeTask.getPipeline(), tasks, stageType);
        } else {
            stopTask(tasks, stageType);
        }
    }
}
Also used : StageType(com.alibaba.otter.shared.common.model.config.enums.StageType) TaskEvent(com.alibaba.otter.node.common.config.model.NodeTask.TaskEvent) GlobalTask(com.alibaba.otter.node.etl.common.task.GlobalTask)

Example 7 with StageType

use of com.alibaba.otter.shared.common.model.config.enums.StageType in project otter by alibaba.

the class OtterController method process.

public boolean process(List<NodeTask> nodeTasks) {
    if (nodeTasks == null || nodeTasks.isEmpty()) {
        return true;
    }
    for (NodeTask nodeTask : nodeTasks) {
        boolean shutdown = nodeTask.isShutdown();
        Long pipelineId = nodeTask.getPipeline().getId();
        if (shutdown) {
            Map<StageType, GlobalTask> tasks = controllers.remove(pipelineId);
            if (tasks != null) {
                logger.info("INFO ## shutdown this pipeline sync ,the pipelineId = {} and tasks = {}", pipelineId, tasks.keySet());
                stopPipeline(pipelineId, tasks);
            } else {
                logger.info("INFO ## this pipeline id = {} is not start sync", pipelineId);
            }
        } else {
            startPipeline(nodeTask);
        }
    }
    return true;
}
Also used : StageType(com.alibaba.otter.shared.common.model.config.enums.StageType) GlobalTask(com.alibaba.otter.node.etl.common.task.GlobalTask) NodeTask(com.alibaba.otter.node.common.config.model.NodeTask)

Aggregations

StageType (com.alibaba.otter.shared.common.model.config.enums.StageType)7 TaskEvent (com.alibaba.otter.node.common.config.model.NodeTask.TaskEvent)4 ArrayList (java.util.ArrayList)4 NodeTask (com.alibaba.otter.node.common.config.model.NodeTask)3 GlobalTask (com.alibaba.otter.node.etl.common.task.GlobalTask)3 FindTaskEvent (com.alibaba.otter.shared.communication.model.config.FindTaskEvent)3 ArbitrateException (com.alibaba.otter.shared.arbitrate.exception.ArbitrateException)1 StageComparator (com.alibaba.otter.shared.arbitrate.impl.setl.helper.StageComparator)1 EtlEventData (com.alibaba.otter.shared.arbitrate.model.EtlEventData)1 ProcessNodeEventData (com.alibaba.otter.shared.arbitrate.model.ProcessNodeEventData)1 ConfigException (com.alibaba.otter.shared.common.model.config.ConfigException)1 Node (com.alibaba.otter.shared.common.model.config.node.Node)1 Pipeline (com.alibaba.otter.shared.common.model.config.pipeline.Pipeline)1 ProcessStat (com.alibaba.otter.shared.common.model.statistics.stage.ProcessStat)1 StageStat (com.alibaba.otter.shared.common.model.statistics.stage.StageStat)1 ZooKeeperx (com.alibaba.otter.shared.common.utils.zookeeper.ZooKeeperx)1 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 IZkConnection (org.I0Itec.zkclient.IZkConnection)1