| 
					
				 | 
			
			
				@@ -396,11 +396,11 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         t = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             #gevent.spawn(pool_recall.get_region_hour_recall, size, region_code), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             #gevent.spawn(pool_recall.get_region_day_recall, size, region_code), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             #gevent.spawn(pool_recall.get_selected_recall, size, region_code), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             #gevent.spawn(pool_recall.get_no_selected_recall, size, region_code), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             gevent.spawn(pool_recall.get_region_hour_recall, size, region_code), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             gevent.spawn(pool_recall.get_region_day_recall, size, region_code), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             gevent.spawn(pool_recall.get_selected_recall, size, region_code), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             gevent.spawn(pool_recall.get_no_selected_recall, size, region_code), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             #gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              gevent.spawn(pool_recall.flow_pool_recall, size)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ab_code ==60049: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -409,9 +409,9 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # all recall_result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     all_recall_result_list = [i.get() for i in t] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     all_recall_result = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    print(all_recall_result_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #print(all_recall_result_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     result['recallTime'] = (time.time() - start_recall) * 1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print("all recall time:", result['recallTime']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if not all_recall_result_list or len(all_recall_result_list)==0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for recall_item in all_recall_result_list: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -423,6 +423,7 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #print("all_recall_result:", all_recall_result) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #2. duplicate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     recall_dict = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    duplicat_time  = time.time() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fast_flow_set = set('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     flow_flow_set = set('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     region_h_recall = [] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -466,7 +467,9 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             recall_name = recall_dict[vId] + "," + recall_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             recall_dict[vId] = recall_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    print("recall_dict:", recall_dict) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #print("recall_dict:", recall_dict) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end_duplicat_time  = time.time() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print("duplicate time:", (end_duplicat_time-duplicat_time)*1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #3. filter video, 先过预曝光 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     filter_ = FilterVideos(request_id=request_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            app_type=app_type, mid=mid, uid=uid, video_ids=list(recall_dict.keys())) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -477,6 +480,7 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     all_recall_list = filter_.filter_videos_new(pool_type='rov', region_code=region_code, shield_config=shield_config) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #print("filer after:", all_recall_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #4. sort: old sort: flow 按概率出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print("filter time:", (time.time()-end_duplicat_time)*1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     start_rank = time.time() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #quick_flow_pool_P get from redis 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     redis_helper = RedisHelper() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -489,7 +493,7 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rank_result= [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if ab_code==60048 or ab_code==60049: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rank_ids, add_flow_set = video_new_rank(videoIds=all_recall_list,fast_flow_set=fast_flow_set, flow_set=flow_flow_set,size=size, top_K=top_K, flow_pool_P=float(flow_pool_P)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        print("rank_ids:", rank_ids) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #print("rank_ids:", rank_ids) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for rank_item in rank_ids: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rank_id = rank_item[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rank_score = rank_item[1] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -509,6 +513,7 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     result['rankResult'] = rank_result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     result['rankTime'] = (time.time() - start_rank) * 1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print("rank time:", result['rankTime']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # return rank_result, last_rov_recall_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1414,7 +1419,7 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     no_op_flag, old_video_index, rule_key_30day, shield_config = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         get_recommend_params(recommend_type=1, ab_exp_info=ab_exp_info, ab_info_data=ab_info_data, page_type=page_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              mid=mid, app_type=app_type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # log_.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #log_.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'logTimestamp': int(time.time() * 1000), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'request_id': request_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'app_type': app_type, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1423,6 +1428,7 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'operation': 'get_recommend_params', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'executeTime': (time.time() - param_st) * 1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print("get params:", (time.time() - param_st) * 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     recommend_result['getRecommendParamsTime'] = (time.time() - param_st) * 1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 简单召回 - 排序 - 兜底 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1447,15 +1453,16 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              rule_key=rule_key, data_key=data_key, no_op_flag=no_op_flag, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              old_video_index=old_video_index, video_id=video_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              params=params, rule_key_30day=rule_key_30day, shield_config=shield_config) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # log_.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #     'logTimestamp': int(time.time() * 1000), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #     'request_id': request_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #     'app_type': app_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #     'mid': mid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #     'uid': uid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #     'operation': 'get_recommend_result', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #     'executeTime': (time.time() - get_result_st) * 1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     #log_.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     #    'logTimestamp': int(time.time() * 1000), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     #    'request_id': request_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     #    'app_type': app_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     #    'mid': mid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     #    'uid': uid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     #    'operation': 'get_recommend_result', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     #    'executeTime': (time.time() - get_result_st) * 1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    print("executeTime:", (time.time() - get_result_st) * 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     recommend_result['recommendOperation'] = result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rank_result = result.get('rankResult') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     recommend_result['videos'] = rank_result 
			 |