|  | @@ -627,23 +627,38 @@ def video_new_rank2(data, size, top_K, flow_pool_P, ab_code, mid, exp_config=Non
 | 
	
		
			
				|  |  |      rov_recall_rank = rec_recall_item_list
 | 
	
		
			
				|  |  |      #call rank service
 | 
	
		
			
				|  |  |      #flag_call_service = 0
 | 
	
		
			
				|  |  | +    redisObj = RedisHelper()
 | 
	
		
			
				|  |  | +    vidKeys = []
 | 
	
		
			
				|  |  | +    for recall_item in rec_recall_item_list:
 | 
	
		
			
				|  |  | +        vid = recall_item.get("videoId", 0)
 | 
	
		
			
				|  |  | +        vidKeys.append(pre_str + str(vid))
 | 
	
		
			
				|  |  | +    video_scores = redisObj.get_batch_key(vidKeys)
 | 
	
		
			
				|  |  |      if ab_code == 60066 or ab_code == 60069 or ab_code == 60070 or ab_code == 60071:
 | 
	
		
			
				|  |  |          feature_dict = get_featurs(mid, data, size, top_K, flow_pool_P, env_dict)
 | 
	
		
			
				|  |  |          score_result = get_tf_serving_sores(feature_dict)
 | 
	
		
			
				|  |  | -        if rec_recall_item_list and score_result and len(score_result) > 0 and len(score_result) == len(rec_recall_item_list):
 | 
	
		
			
				|  |  | +        if video_scores and len(video_scores)>0  and rec_recall_item_list and score_result and len(score_result) > 0\
 | 
	
		
			
				|  |  | +                and len(score_result) == len(rec_recall_item_list) and len(video_scores)== len(score_result):
 | 
	
		
			
				|  |  |              for i in range(len(score_result)):
 | 
	
		
			
				|  |  | -                rec_recall_item_list[i]['sort_score'] = score_result[i][0]
 | 
	
		
			
				|  |  | +                try:
 | 
	
		
			
				|  |  | +                    if video_scores[i] is None:
 | 
	
		
			
				|  |  | +                        return_score = 0.000000001
 | 
	
		
			
				|  |  | +                        total_score = return_score * score_result[i][0]
 | 
	
		
			
				|  |  | +                        rec_recall_item_list[i]['sort_score'] = total_score
 | 
	
		
			
				|  |  | +                    else:
 | 
	
		
			
				|  |  | +                        video_score_str = json.loads(video_scores[i])
 | 
	
		
			
				|  |  | +                        return_score = video_score_str[0]
 | 
	
		
			
				|  |  | +                        #print("return_score:", return_score, "score:", score_result[i][0],"\t", rec_recall_item_list[i])
 | 
	
		
			
				|  |  | +                        total_score = return_score * score_result[i][0]
 | 
	
		
			
				|  |  | +                        rec_recall_item_list[i]['sort_score'] = total_score
 | 
	
		
			
				|  |  | +                except Exception:
 | 
	
		
			
				|  |  | +                    return_score = 0.000000001
 | 
	
		
			
				|  |  | +                    total_score = return_score * 0.00000001
 | 
	
		
			
				|  |  | +                    rec_recall_item_list[i]['sort_score'] = total_score
 | 
	
		
			
				|  |  |                  rec_recall_item_list[i]['flag_call_service'] = 1
 | 
	
		
			
				|  |  |              rov_recall_rank = sorted(rec_recall_item_list, key=lambda k: k.get('sort_score', 0), reverse=True)
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  | -            rov_recall_rank = sup_rank(pre_str, rec_recall_item_list)
 | 
	
		
			
				|  |  | +            rov_recall_rank = sup_rank(video_scores, rec_recall_item_list)
 | 
	
		
			
				|  |  |      else:
 | 
	
		
			
				|  |  | -        redisObj = RedisHelper()
 | 
	
		
			
				|  |  | -        vidKeys = []
 | 
	
		
			
				|  |  | -        for recall_item in rec_recall_item_list:
 | 
	
		
			
				|  |  | -            vid = recall_item.get("videoId", 0)
 | 
	
		
			
				|  |  | -            vidKeys.append(pre_str + str(vid))
 | 
	
		
			
				|  |  | -        video_scores = redisObj.get_batch_key(vidKeys)
 | 
	
		
			
				|  |  |          if video_scores and len(rec_recall_item_list) > 0 and len(video_scores)>0:
 | 
	
		
			
				|  |  |              for i in range(len(video_scores)):
 | 
	
		
			
				|  |  |                  try:
 | 
	
	
		
			
				|  | @@ -729,13 +744,7 @@ def video_new_rank2(data, size, top_K, flow_pool_P, ab_code, mid, exp_config=Non
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 排序服务兜底
 | 
	
		
			
				|  |  | -def sup_rank(pre_str, recall_list):
 | 
	
		
			
				|  |  | -    redisObj = RedisHelper()
 | 
	
		
			
				|  |  | -    vidKeys = []
 | 
	
		
			
				|  |  | -    for recall_item in recall_list:
 | 
	
		
			
				|  |  | -        vid = recall_item.get("videoId", 0)
 | 
	
		
			
				|  |  | -        vidKeys.append(pre_str + str(vid))
 | 
	
		
			
				|  |  | -    video_scores = redisObj.get_batch_key(vidKeys)
 | 
	
		
			
				|  |  | +def sup_rank(video_scores, recall_list):
 | 
	
		
			
				|  |  |      if video_scores and len(recall_list) > 0:
 | 
	
		
			
				|  |  |          for i in range(len(video_scores)):
 | 
	
		
			
				|  |  |              try:
 |