| 
					
				 | 
			
			
				@@ -138,7 +138,8 @@ def positon_duplicate(pos1_vids, pos2_vids, videos): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, algo_type, client_info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     expire_time=24*3600, ab_code=config_.AB_CODE['initial'], rule_key='', data_key='', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    no_op_flag=False, old_video_index=-1, video_id=None, params=None, rule_key_30day=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    no_op_flag=False, old_video_index=-1, video_id=None, params=None, rule_key_30day=None, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    shield_config=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     首页线上推荐逻辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     :param request_id: request_id 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -179,7 +180,7 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pool_recall = PoolRecall(request_id=request_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              app_type=app_type, mid=mid, uid=uid, ab_code=ab_code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              client_info=client_info, rule_key=rule_key, data_key=data_key, no_op_flag=no_op_flag, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                             params=params, rule_key_30day=rule_key_30day) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             params=params, rule_key_30day=rule_key_30day, shield_config=shield_config) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # _, last_rov_recall_key, _ = pool_recall.get_video_last_idx() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # # 小时级实验 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # if ab_code in [code for _, code in config_.AB_CODE['rank_by_h'].items()]: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -566,6 +567,7 @@ def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, app_typ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rule_key = param.get('rule_key') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     data_key = param.get('data_key') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rule_key_30day = param.get('30day_rule_key') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    shield_config = config_.SHIELD_CONFIG 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 默认使用 095 实验的配置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # ab_code = config_.AB_EXP_CODE['095'].get('ab_code') 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -671,6 +673,7 @@ def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, app_typ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         rule_key = param.get('rule_key') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         data_key = param.get('data_key') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         rule_key_30day = param.get('30day_rule_key') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        shield_config = param.get('shield_config', config_.SHIELD_CONFIG) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             """ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -959,7 +962,7 @@ def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, app_typ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #             data_key = 'data1' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #             no_op_flag = True 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return top_K, flow_pool_P, ab_code, rule_key, data_key, expire_time, no_op_flag, old_video_index, rule_key_30day 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return top_K, flow_pool_P, ab_code, rule_key, data_key, expire_time, no_op_flag, old_video_index, rule_key_30day, shield_config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1025,7 +1028,8 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return recommend_result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 普通mid推荐处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    top_K, flow_pool_P, ab_code, rule_key, data_key, expire_time, no_op_flag, old_video_index, rule_key_30day = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    top_K, flow_pool_P, ab_code, rule_key, data_key, expire_time, \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    no_op_flag, old_video_index, rule_key_30day, shield_config = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         get_recommend_params(recommend_type=0, ab_exp_info=ab_exp_info, ab_info_data=ab_info_data, mid=mid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              app_type=app_type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # log_.info({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1048,7 +1052,7 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              ab_code=ab_code, expire_time=expire_time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              rule_key=rule_key, data_key=data_key, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              no_op_flag=no_op_flag, old_video_index=old_video_index, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                             params=params, rule_key_30day=rule_key_30day) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             params=params, rule_key_30day=rule_key_30day, shield_config=shield_config) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # log_.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'logTimestamp': int(time.time() * 1000), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'request_id': request_id, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1113,7 +1117,8 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # return rank_result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 普通mid推荐处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    top_K, flow_pool_P, ab_code, rule_key, data_key, expire_time, no_op_flag, old_video_index, rule_key_30day = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    top_K, flow_pool_P, ab_code, rule_key, data_key, expire_time, \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    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({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1136,7 +1141,7 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              ab_code=ab_code, expire_time=expire_time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             params=params, rule_key_30day=rule_key_30day, shield_config=shield_config) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # log_.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'logTimestamp': int(time.time() * 1000), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #     'request_id': request_id, 
			 |