|
@@ -1,32 +1,33 @@
|
|
|
#coding utf-8
|
|
|
from db_helper import RedisHelper
|
|
|
from config import set_config
|
|
|
-from utils import request_post
|
|
|
+from utils import request_post_data
|
|
|
import json
|
|
|
from log import Log
|
|
|
|
|
|
+
|
|
|
config_ = set_config()
|
|
|
log_ = Log()
|
|
|
-def get_featurs(data, size, top_K, flow_pool_P, env_dict=None):
|
|
|
+def get_featurs(mid, data, size, top_K, flow_pool_P, env_dict=None):
|
|
|
recall_list = []
|
|
|
vidKeys = []
|
|
|
feature_dict = {}
|
|
|
# defult value
|
|
|
- apptype = 0
|
|
|
+ apptype = 4
|
|
|
pagesource = ""
|
|
|
- versioncode = ""
|
|
|
- machineinfo_brand=""
|
|
|
- recommendsource = ""
|
|
|
- machineinfo_platform = ''
|
|
|
- sencetype = ''
|
|
|
- mid = ''
|
|
|
- if env_dict:
|
|
|
- apptype = env_dict.get('app_type','')
|
|
|
- pagesource = env_dict.get('versioncode', '')
|
|
|
- versioncode = env_dict.get('versioncode', '')
|
|
|
+ versioncode = "580"
|
|
|
+ machineinfo_brand="HUAWEI"
|
|
|
+ recommendsource = "0"
|
|
|
+ machineinfo_platform = 'android'
|
|
|
+ sencetype = 100078
|
|
|
+ machineinfo_model ='M2006C3LC'
|
|
|
+ if env_dict and len(env_dict)>0:
|
|
|
+ apptype = env_dict.get('app_type',4)
|
|
|
+ pagesource = env_dict.get('pagesource', '')
|
|
|
+ versioncode = env_dict.get('versioncode', 0)
|
|
|
machineinfo_brand = env_dict.get('machineinfo_brand', '')
|
|
|
machineinfo_model = env_dict.get('machineinfo_model', '')
|
|
|
- recommendsource = env_dict.get('recommendsource', '')
|
|
|
+ recommendsource = env_dict.get('recommendsource', '0')
|
|
|
machineinfo_platform = env_dict.get('machineinfo_platform', '')
|
|
|
sencetype = env_dict.get('sencetype', '')
|
|
|
redisObj = RedisHelper()
|
|
@@ -58,7 +59,7 @@ def get_featurs(data, size, top_K, flow_pool_P, env_dict=None):
|
|
|
continue
|
|
|
vid = recall_item.get("videoId",0)
|
|
|
mid_list.append(mid)
|
|
|
- videoid_list.append(vid)
|
|
|
+ videoid_list.append(int(vid))
|
|
|
apptype_list.append(apptype)
|
|
|
pagesource_list.append(pagesource)
|
|
|
versioncode_list.append(versioncode)
|
|
@@ -69,7 +70,9 @@ def get_featurs(data, size, top_K, flow_pool_P, env_dict=None):
|
|
|
sencetype_list.append(sencetype)
|
|
|
vidKeys.append(pre_str + str(vid))
|
|
|
recall_list.append(recall_item)
|
|
|
+ #print("vidKeys:", vidKeys)
|
|
|
video_static_info = redisObj.get_batch_key(vidKeys)
|
|
|
+ #print("video_static_info:",video_static_info)
|
|
|
if video_static_info:
|
|
|
for i in range(len(video_static_info)):
|
|
|
try:
|
|
@@ -77,33 +80,34 @@ def get_featurs(data, size, top_K, flow_pool_P, env_dict=None):
|
|
|
vid = vidKeys[i].replace(pre_str,"")
|
|
|
if video_static_info[i] :
|
|
|
per_video_staic = json.loads(video_static_info[i])
|
|
|
- if vid in feature_dict:
|
|
|
- vid_fea_info = feature_dict[vid]
|
|
|
- day_rov_list.append(per_video_staic[0])
|
|
|
- day_share_return_score_list.append(per_video_staic[1])
|
|
|
- day_share_score_list.append(per_video_staic[2])
|
|
|
- day_return_rate_list.append(per_video_staic[3])
|
|
|
- day_ctr_score_list.append(per_video_staic[4])
|
|
|
- day_view_users_list.append(per_video_staic[5])
|
|
|
- day_view_pv_list.append(per_video_staic[6])
|
|
|
- day_play_users_list.append(per_video_staic[7])
|
|
|
- day_play_pv_list.append(per_video_staic[8])
|
|
|
- day_share_users.append(per_video_staic[9])
|
|
|
- day_share_pv_list.append(per_video_staic[10])
|
|
|
- day_return_users_list.append(per_video_staic[11])
|
|
|
+ day_rov_list.append(float(per_video_staic[0]))
|
|
|
+ day_share_return_score_list.append(float(per_video_staic[1]))
|
|
|
+ day_share_score_list.append(float(per_video_staic[2]))
|
|
|
+ day_return_rate_list.append(float(per_video_staic[3]))
|
|
|
+ day_ctr_score_list.append(float(per_video_staic[4]))
|
|
|
+ day_view_users_list.append(int(per_video_staic[5]))
|
|
|
+ day_view_pv_list.append(int(per_video_staic[6]))
|
|
|
+ day_play_users_list.append(int(per_video_staic[7]))
|
|
|
+ day_play_pv_list.append(int(per_video_staic[8]))
|
|
|
+ day_share_users.append(int(per_video_staic[9]))
|
|
|
+ day_share_pv_list.append(int(per_video_staic[10]))
|
|
|
+ day_return_users_list.append(int(per_video_staic[11]))
|
|
|
+ else:
|
|
|
+ insert_static_default_fea(day_ctr_score_list, day_play_pv_list, day_play_users_list,
|
|
|
+ day_return_rate_list, day_return_users_list, day_rov_list,
|
|
|
+ day_share_pv_list, day_share_return_score_list, day_share_score_list,
|
|
|
+ day_share_users, day_view_pv_list, day_view_users_list)
|
|
|
except Exception:
|
|
|
- day_rov_list.append(0.0)
|
|
|
- day_share_return_score_list.append(0.0)
|
|
|
- day_share_score_list.append(0.0)
|
|
|
- day_return_rate_list.append(0.0)
|
|
|
- day_ctr_score_list.append(0.0)
|
|
|
- day_view_users_list.append(0)
|
|
|
- day_view_pv_list.append(0)
|
|
|
- day_play_users_list.append(0)
|
|
|
- day_play_pv_list.append(0)
|
|
|
- day_share_users.append(0)
|
|
|
- day_share_pv_list.append(0)
|
|
|
- day_return_users_list.append(0)
|
|
|
+ insert_static_default_fea(day_ctr_score_list, day_play_pv_list, day_play_users_list,
|
|
|
+ day_return_rate_list, day_return_users_list, day_rov_list,
|
|
|
+ day_share_pv_list, day_share_return_score_list, day_share_score_list,
|
|
|
+ day_share_users, day_view_pv_list, day_view_users_list)
|
|
|
+ else:
|
|
|
+ for i in range(len(recall_list)):
|
|
|
+ insert_static_default_fea(day_ctr_score_list, day_play_pv_list, day_play_users_list,
|
|
|
+ day_return_rate_list, day_return_users_list, day_rov_list,
|
|
|
+ day_share_pv_list, day_share_return_score_list, day_share_score_list,
|
|
|
+ day_share_users, day_view_pv_list, day_view_users_list)
|
|
|
feature_dict["mid_list"] = mid_list
|
|
|
feature_dict["videoid_list"] = videoid_list
|
|
|
feature_dict["apptype_list"] = apptype_list
|
|
@@ -114,7 +118,7 @@ def get_featurs(data, size, top_K, flow_pool_P, env_dict=None):
|
|
|
feature_dict["recommendsource_list"] = recommendsource_list
|
|
|
feature_dict["machineinfo_model_list"] = machineinfo_model_list
|
|
|
feature_dict["machineinfo_platform_list"] = machineinfo_platform_list
|
|
|
- feature_dict["sencetype_lis"] = sencetype_list
|
|
|
+ feature_dict["sencetype_list"] = sencetype_list
|
|
|
feature_dict["day_rov_list"] = day_rov_list
|
|
|
feature_dict["day_share_return_score_list"] = day_share_return_score_list
|
|
|
feature_dict["day_share_score_list"] = day_share_score_list
|
|
@@ -130,6 +134,23 @@ def get_featurs(data, size, top_K, flow_pool_P, env_dict=None):
|
|
|
feature_dict["day_share_users_list"] = day_share_users
|
|
|
return feature_dict, recall_list
|
|
|
|
|
|
+
|
|
|
+def insert_static_default_fea(day_ctr_score_list, day_play_pv_list, day_play_users_list, day_return_rate_list,
|
|
|
+ day_return_users_list, day_rov_list, day_share_pv_list, day_share_return_score_list,
|
|
|
+ day_share_score_list, day_share_users, day_view_pv_list, day_view_users_list):
|
|
|
+ day_rov_list.append(0.0)
|
|
|
+ day_share_return_score_list.append(0.0)
|
|
|
+ day_share_score_list.append(0.0)
|
|
|
+ day_return_rate_list.append(0.0)
|
|
|
+ day_ctr_score_list.append(0.0)
|
|
|
+ day_view_users_list.append(0)
|
|
|
+ day_view_pv_list.append(0)
|
|
|
+ day_play_users_list.append(0)
|
|
|
+ day_play_pv_list.append(0)
|
|
|
+ day_share_users.append(0)
|
|
|
+ day_share_pv_list.append(0)
|
|
|
+ day_return_users_list.append(0)
|
|
|
+
|
|
|
def get_tf_serving_sores(feature_dict):
|
|
|
if not feature_dict or len(feature_dict)<22:
|
|
|
return []
|
|
@@ -158,16 +179,18 @@ def get_tf_serving_sores(feature_dict):
|
|
|
"day_view_pv": feature_dict["day_view_pv_list"],
|
|
|
"day_view_users":feature_dict["day_view_users_list"]
|
|
|
}
|
|
|
- request_data= {}
|
|
|
- request_data["inputs"] = inputs_data
|
|
|
- print(request_data)
|
|
|
+ request_data_dict= {}
|
|
|
+ request_data_dict["inputs"] = inputs_data
|
|
|
+ #print(request_data_dict)
|
|
|
+ request_data= json.dumps(request_data_dict)
|
|
|
+ #print(request_data)
|
|
|
# 调用http接口
|
|
|
- result = request_post(request_url=config_.TF_SERVING_URL, request_data=request_data, timeout=(0.1, 1))
|
|
|
+ result = request_post_data(config_.TF_SERVING_URL,request_data, timeout=(0.1, 1))
|
|
|
|
|
|
# print("result:", result)
|
|
|
if result is None:
|
|
|
print("result is None")
|
|
|
log_.info('call tf serving error,types: {}')
|
|
|
return []
|
|
|
- print(result)
|
|
|
- return result
|
|
|
+ #print(result)
|
|
|
+ return result
|