in experiments/client_traffic_ctrl_tasks.go [121:169]
func (e *ExperimentClient) GetTrafficControlTaskMetaData(env string, currentTimestamp int64) []model.TrafficControlTask {
if currentTimestamp == 0 {
currentTimestamp = time.Now().Unix()
}
traffics := make([]model.TrafficControlTask, 0)
var data = make(map[string][]model.TrafficControlTask, 0)
if env == common.Environment_Prepub_Desc {
data = e.prepubSceneTrafficControlTaskData
} else if env == common.Environment_Product_Desc {
data = e.productSceneTrafficControlTaskData
} else {
return nil
}
for _, sceneTraffics := range data {
for i, task := range sceneTraffics {
if task.ExecutionTime != "Permanent" {
startTime, _ := time.Parse(time.RFC3339, task.StartTime)
endTime, _ := time.Parse(time.RFC3339, task.EndTime)
if env == common.Environment_Product_Desc {
if task.ProductStatus == common.TrafficCtrlTask_Running_Status && startTime.Unix() <= currentTimestamp && currentTimestamp < endTime.Unix() {
traffics = append(traffics, sceneTraffics[i])
}
} else if env == common.Environment_Prepub_Desc {
if task.PrepubStatus == common.TrafficCtrlTask_Running_Status && startTime.Unix() <= currentTimestamp && currentTimestamp < endTime.Unix() {
traffics = append(traffics, sceneTraffics[i])
}
}
} else {
if env == common.Environment_Product_Desc {
if task.ProductStatus == common.TrafficCtrlTask_Running_Status {
traffics = append(traffics, sceneTraffics[i])
}
} else if env == common.Environment_Prepub_Desc {
if task.PrepubStatus == common.TrafficCtrlTask_Running_Status {
traffics = append(traffics, sceneTraffics[i])
}
}
}
}
}
return traffics
}