|  | @@ -458,6 +458,14 @@ def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
 | 
	
		
			
				|  |  |              t.append(gevent.spawn(pool_recall.get_return_video_reall, exp_config))
 | 
	
		
			
				|  |  |          if ab_code == 60056:
 | 
	
		
			
				|  |  |              t.append(gevent.spawn(pool_recall.get_U2I_reall, mid , exp_config))
 | 
	
		
			
				|  |  | +        if ab_code == 60065 :
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_return_video_reall, exp_config, 'rv2:'))
 | 
	
		
			
				|  |  | +        if ab_code ==60067 :
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall_filter, exp_config))
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_return_video_reall, exp_config))
 | 
	
		
			
				|  |  | +        if ab_code == 60068:
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall_filter, exp_config))
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_return_video_reall, exp_config, 'rv2:'))
 | 
	
		
			
				|  |  |      else:
 | 
	
		
			
				|  |  |          t = [gevent.spawn(pool_recall.rov_pool_recall_with_region, size, expire_time, ab_code, exp_config),
 | 
	
		
			
				|  |  |               gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID),
 | 
	
	
		
			
				|  | @@ -468,6 +476,14 @@ def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
 | 
	
		
			
				|  |  |              t.append(gevent.spawn(pool_recall.get_return_video_reall, exp_config))
 | 
	
		
			
				|  |  |          if ab_code == 60056:
 | 
	
		
			
				|  |  |              t.append(gevent.spawn(pool_recall.get_U2I_reall, mid , exp_config))
 | 
	
		
			
				|  |  | +        if ab_code == 60065:
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_return_video_reall, exp_config, 'rv2:'))
 | 
	
		
			
				|  |  | +        if ab_code == 60067:
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall_filter, exp_config))
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_return_video_reall, exp_config))
 | 
	
		
			
				|  |  | +        if ab_code == 60068:
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall_filter, exp_config))
 | 
	
		
			
				|  |  | +            t.append(gevent.spawn(pool_recall.get_return_video_reall, exp_config, 'rv2:'))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      gevent.joinall(t)
 | 
	
		
			
				|  |  |      recall_result_list = [i.get() for i in t]
 | 
	
	
		
			
				|  | @@ -505,7 +521,7 @@ def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
 | 
	
		
			
				|  |  |              if len(rov_pool_recall) > 0:
 | 
	
		
			
				|  |  |                  recall_result_list[0] = rov_pool_recall
 | 
	
		
			
				|  |  |      # merge return video
 | 
	
		
			
				|  |  | -    if ab_code == 60055:
 | 
	
		
			
				|  |  | +    if ab_code == 60055 or ab_code==60065:
 | 
	
		
			
				|  |  |          rov_pool_recall = []
 | 
	
		
			
				|  |  |          if len(recall_result_list)>=2:
 | 
	
		
			
				|  |  |              region_recall = recall_result_list[0]
 | 
	
	
		
			
				|  | @@ -559,6 +575,44 @@ def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
 | 
	
		
			
				|  |  |              if len(rov_pool_recall)>0:
 | 
	
		
			
				|  |  |                  recall_result_list[0] = rov_pool_recall
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    #2. merge simrecall, return video
 | 
	
		
			
				|  |  | +    if ab_code == 60067 or ab_code==60068:
 | 
	
		
			
				|  |  | +        rov_pool_recall = []
 | 
	
		
			
				|  |  | +        if len(recall_result_list)>=2:
 | 
	
		
			
				|  |  | +            region_recall = recall_result_list[0]
 | 
	
		
			
				|  |  | +            return_video_reall = []
 | 
	
		
			
				|  |  | +            sim_recall = []
 | 
	
		
			
				|  |  | +            if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
 | 
	
		
			
				|  |  | +                sim_recall = recall_result_list[1]
 | 
	
		
			
				|  |  | +                if len(recall_result_list) >= 3:
 | 
	
		
			
				|  |  | +                    return_video_reall = recall_result_list[2]
 | 
	
		
			
				|  |  | +            else:
 | 
	
		
			
				|  |  | +                if len(recall_result_list)>=4:
 | 
	
		
			
				|  |  | +                    sim_recall = recall_result_list[3]
 | 
	
		
			
				|  |  | +                if len(recall_result_list)>=5:
 | 
	
		
			
				|  |  | +                    return_video_reall = recall_result_list[4]
 | 
	
		
			
				|  |  | +            #print("sim:",sim_recall)
 | 
	
		
			
				|  |  | +            now_video_ids = set('')
 | 
	
		
			
				|  |  | +            if len(region_recall)>0:
 | 
	
		
			
				|  |  | +                for video in region_recall:
 | 
	
		
			
				|  |  | +                    video_id = video.get('videoId')
 | 
	
		
			
				|  |  | +                    if video_id not in now_video_ids:
 | 
	
		
			
				|  |  | +                        rov_pool_recall.append(video)
 | 
	
		
			
				|  |  | +                        now_video_ids.add(video_id)
 | 
	
		
			
				|  |  | +            if len(sim_recall) > 0:
 | 
	
		
			
				|  |  | +                for video in sim_recall:
 | 
	
		
			
				|  |  | +                    video_id = video.get('videoId')
 | 
	
		
			
				|  |  | +                    if video_id not in now_video_ids:
 | 
	
		
			
				|  |  | +                        rov_pool_recall.append(video)
 | 
	
		
			
				|  |  | +                        now_video_ids.add(video_id)
 | 
	
		
			
				|  |  | +            if len(return_video_reall)>0:
 | 
	
		
			
				|  |  | +                for video in return_video_reall:
 | 
	
		
			
				|  |  | +                    video_id = video.get('videoId')
 | 
	
		
			
				|  |  | +                    if video_id not in now_video_ids:
 | 
	
		
			
				|  |  | +                        rov_pool_recall.append(video)
 | 
	
		
			
				|  |  | +                        now_video_ids.add(video_id)
 | 
	
		
			
				|  |  | +            if len(rov_pool_recall)>0:
 | 
	
		
			
				|  |  | +                recall_result_list[0] = rov_pool_recall
 | 
	
		
			
				|  |  |      result['recallResult'] = recall_result_list
 | 
	
		
			
				|  |  |      result['recallTime'] = (time.time() - start_recall) * 1000
 | 
	
		
			
				|  |  |      #print("recall:", recall_result_list)
 | 
	
	
		
			
				|  | @@ -1619,21 +1673,13 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
 | 
	
		
			
				|  |  |                               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, shield_config=shield_config)
 | 
	
		
			
				|  |  | -    # old base (test4, test5)
 | 
	
		
			
				|  |  | -    # elif ab_code == 60050 or ab_code == 60051:
 | 
	
		
			
				|  |  | -    #     result = video_recommend(request_id=request_id,
 | 
	
		
			
				|  |  | -    #                              mid=mid, uid=uid, app_type=app_type,
 | 
	
		
			
				|  |  | -    #                              size=size, top_K=top_K, flow_pool_P=flow_pool_P,
 | 
	
		
			
				|  |  | -    #                              algo_type=algo_type, client_info=client_info,
 | 
	
		
			
				|  |  | -    #                              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, shield_config=shield_config)
 | 
	
		
			
				|  |  | -    # 60052,60053,60057(test7, test8, test6)
 | 
	
		
			
				|  |  | -    # simrecal: 60054
 | 
	
		
			
				|  |  | -    # 3 days , 7days recall: 60005, test1
 | 
	
		
			
				|  |  | +    # 60052,60053,60057(test7, test8, test6) 融合排序
 | 
	
		
			
				|  |  | +    # simrecal: 60054 +融合
 | 
	
		
			
				|  |  | +    # return video, return video2
 | 
	
		
			
				|  |  |      # old video: 60056, test2
 | 
	
		
			
				|  |  | -    elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or ab_code == 60056 or ab_code==60057:
 | 
	
		
			
				|  |  | +    elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 \
 | 
	
		
			
				|  |  | +            or ab_code == 60055 or ab_code == 60056 or ab_code==60057  \
 | 
	
		
			
				|  |  | +            or ab_code==60065 or ab_code == 60067 or ab_code==60068 :
 | 
	
		
			
				|  |  |          result = video_old_recommend(request_id=request_id,
 | 
	
		
			
				|  |  |                                       mid=mid, uid=uid, app_type=app_type,
 | 
	
		
			
				|  |  |                                       size=size, top_K=top_K, flow_pool_P=flow_pool_P,
 | 
	
	
		
			
				|  | @@ -1675,11 +1721,9 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
 | 
	
		
			
				|  |  |      update_redis_st = time.time()
 | 
	
		
			
				|  |  |      if ab_code == 60047 or  ab_code == 60048 or  ab_code == 60049:
 | 
	
		
			
				|  |  |          update_flow_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  | -    # elif ab_code == 60050 or  ab_code == 60051:
 | 
	
		
			
				|  |  | +    # elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 \
 | 
	
		
			
				|  |  | +    #         or ab_code == 60056 or ab_code==60057:
 | 
	
		
			
				|  |  |      #     update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  | -    elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 \
 | 
	
		
			
				|  |  | -            or ab_code == 60056 or ab_code==60057:
 | 
	
		
			
				|  |  | -        update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  |      else:
 | 
	
		
			
				|  |  |          update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  |      # log_.info({
 | 
	
	
		
			
				|  | @@ -1752,18 +1796,9 @@ 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({
 | 
	
		
			
				|  |  | -    # elif ab_code == 60050 or ab_code == 60051:
 | 
	
		
			
				|  |  | -    #     result = video_recommend(request_id=request_id,
 | 
	
		
			
				|  |  | -    #                              mid=mid, uid=uid, app_type=app_type,
 | 
	
		
			
				|  |  | -    #                              size=size, top_K=top_K, flow_pool_P=flow_pool_P,
 | 
	
		
			
				|  |  | -    #                              algo_type='', client_info=client_info,
 | 
	
		
			
				|  |  | -    #                              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, shield_config=shield_config)
 | 
	
		
			
				|  |  |      elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or \
 | 
	
		
			
				|  |  | -            ab_code == 60056 or ab_code==60057:
 | 
	
		
			
				|  |  | +            ab_code == 60056 or ab_code==60057 or ab_code ==60065 or ab_code ==60067 \
 | 
	
		
			
				|  |  | +            or ab_code ==60068:
 | 
	
		
			
				|  |  |          result = video_old_recommend(request_id=request_id,
 | 
	
		
			
				|  |  |                                   mid=mid, uid=uid, app_type=app_type,
 | 
	
		
			
				|  |  |                                   size=size, top_K=top_K, flow_pool_P=flow_pool_P,
 | 
	
	
		
			
				|  | @@ -1808,9 +1843,9 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_
 | 
	
		
			
				|  |  |           update_flow_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  |      # elif ab_code == 60050 or ab_code == 60051:
 | 
	
		
			
				|  |  |      #      update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  | -    elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or \
 | 
	
		
			
				|  |  | -            ab_code == 60056 or ab_code==60057:
 | 
	
		
			
				|  |  | -         update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  | +    # elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or \
 | 
	
		
			
				|  |  | +    #         ab_code == 60056 or ab_code==60057 or ab_code ==60065:
 | 
	
		
			
				|  |  | +    #      update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  |      else:
 | 
	
		
			
				|  |  |           update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
 | 
	
		
			
				|  |  |      # log_.info({
 |