
org.jgrapht.graph.sample.AbTestInstanceWorker Maven / Gradle / Ivy
package org.jgrapht.graph.sample;
import java.util.Map;
import org.apache.commons.collections4.MapUtils;
import org.jgrapht.graph.DagStatus;
import org.jgrapht.graph.dagger.VertexDataset;
import org.jgrapht.graph.dagger.VertexStateful;
import org.jgrapht.graph.pipeline.DataPipeline;
import com.spring.boxes.dollar.RandomUtils;
// 示例算子
public class AbTestInstanceWorker implements DataPipeline {
@Override
public VertexDataset pipeline(String vertexId, Map context) {
VertexStateful vertexDataset = new VertexStateful();
vertexDataset.setDagStatus(DagStatus.RUNNING);
context.put(vertexId, RandomUtils.randomNumber(5));
vertexDataset.setContext(context);
if(vertexId.equalsIgnoreCase("abTestInstanceWorker_1")){
int path = MapUtils.getIntValue(context, "path", 0);
if(path == 3){
// 选择resourceAbTestInstanceWorker_3结点
vertexDataset.setTargetVertexId("abTestInstanceWorker_3");
} else {
// 选择resourceAbTestInstanceWorker_3结点
vertexDataset.setTargetVertexId("visitorPortraitCheckWorker_2");
}
return vertexDataset;
}
if(vertexId.equalsIgnoreCase("abTestInstanceWorker_5")){
int path = MapUtils.getIntValue(context, "path", 0);
if(path == 0){
vertexDataset.setTargetVertexId("abTestInstanceWorker_3");
} else {
vertexDataset.setTargetVertexId("grayTestInstanceDataWorker_4");
}
}
// 选择resourceAbTestInstanceWorker_3结点
return vertexDataset;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy