Bläddra i källkod

update add fea return

linfan 1 år sedan
förälder
incheckning
0b300841e1
2 ändrade filer med 43 tillägg och 3 borttagningar
  1. 9 1
      app.py
  2. 34 2
      recommend.py

+ 9 - 1
app.py

@@ -62,6 +62,7 @@ def homepage_recommend():
         versioncode = request_data.get('versionCode', 0)
         recommendsource = request_data.get('recommendSource', '0')
         sencetype = request_data.get('senceType', 0)
+        recomTraceId=request_data.get('recomTraceId', "")
         env_dict = {}
         try:
             env_dict['app_type'] = int(app_type)
@@ -72,6 +73,8 @@ def homepage_recommend():
             env_dict['machineinfo_platform'] = str(machineinfoPlatform)
             env_dict['recommendsource'] = str(recommendsource)
             env_dict['sencetype'] = int(sencetype)
+            env_dict['recomTraceId'] = recomTraceId
+            env_dict['recomInterface'] = "homepage"
         except:
             env_dict['app_type'] = 4
             env_dict['pagesource'] = str(pagesource)
@@ -81,8 +84,9 @@ def homepage_recommend():
             env_dict['machineinfo_platform'] = str(machineinfoPlatform)
             env_dict['recommendsource'] = str(recommendsource)
             env_dict['sencetype'] = sencetype
+            env_dict['recomTraceId'] = recomTraceId
+            env_dict['recomInterface'] = "homepage"
             log_.error("feature error",env_dict)
-
         params = Params(request_id=request_id)
         # size默认为10
         if not size:
@@ -194,6 +198,8 @@ def relevant_recommend():
             env_dict['machineinfo_platform'] = str(machineinfoPlatform)
             env_dict['recommendsource'] = str(recommendsource)
             env_dict['sencetype'] = int(sencetype)
+            env_dict['recomInterface'] = "relevant_recommend"
+            env_dict['relevant_video_id'] = video_id
         except:
             env_dict['app_type'] = 4
             env_dict['pagesource'] = str(pagesource)
@@ -203,6 +209,8 @@ def relevant_recommend():
             env_dict['machineinfo_platform'] = str(machineinfoPlatform)
             env_dict['recommendsource'] = str(recommendsource)
             env_dict['sencetype'] = sencetype
+            env_dict['recomInterface'] = "relevant_recommend"
+            env_dict['relevant_video_id'] = video_id
             log_.error("feature error", env_dict)
         params = Params(request_id=request_id)
         recommend_result = video_relevant_recommend(

+ 34 - 2
recommend.py

@@ -664,8 +664,40 @@ def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
                 'rov_pool_recall': recall_result_list[0],
                 'flow_pool_recall': recall_result_list[2]
             }
-    #if ab_code=="ab_new_test":
-    #print("before data:", data)
+    # 3. 特征回流
+    if env_dict:
+        province_code = client_info.get('provinceCode', '-1')
+        city_code = client_info.get('cityCode', '-1')
+        env_dict['mid'] = mid
+        env_dict['province_code'] = province_code
+        env_dict['city_code'] = city_code
+        rec_recall_list = []
+        vidKeys = []
+        hour_vidKeys = []
+        pre_str = "v_ctr"
+        pre_hour_str = "v_hour_ctr"
+        for recall_item in data['rov_pool_recall']:
+            if len(recall_item) <= 0:
+                continue
+            vid = recall_item.get("videoId", 0)
+            rec_recall_list.append(vid)
+            vidKeys.append(pre_str + str(vid))
+            hour_vidKeys.append(pre_hour_str + str(vid))
+        redisObj = RedisHelper()
+        video_static_info = redisObj.get_batch_key(vidKeys)
+        video_hour_static_info = redisObj.get_batch_key(hour_vidKeys)
+        vid_day_fea_list = []
+        vid_hour_fea_list = []
+        if video_static_info:
+            vid_day_fea_list = video_static_info
+        if video_hour_static_info:
+            vid_hour_fea_list = video_hour_static_info
+        env_dict['recall_list'] = rec_recall_list
+        env_dict['vid_day_fea_list'] = vid_day_fea_list
+        env_dict['vid_hour_fea_list'] = vid_hour_fea_list
+        env_json = json.dumps(env_dict)
+        log_.info(env_json)
+    #4.
     rank_result, flow_num  = video_new_rank2(data=data, size=size, top_K=top_K, flow_pool_P=float(flow_pool_P), ab_code=ab_code, mid=mid, exp_config=exp_config, env_dict=env_dict)
     #print(rank_result)
     if rank_result: