|
@@ -6,7 +6,7 @@ from datetime import datetime
|
|
|
from log import Log
|
|
|
from config import set_config
|
|
|
from video_recall import PoolRecall
|
|
|
-from video_rank import video_rank, bottom_strategy
|
|
|
+from video_rank import video_rank, bottom_strategy, video_rank_by_w_h_rate
|
|
|
from db_helper import RedisHelper
|
|
|
import gevent
|
|
|
|
|
@@ -76,6 +76,14 @@ def video_recommend(mid, uid, size, app_type, algo_type, client_info):
|
|
|
log_.info('mid: {}, uid: {}, bottom strategy result: {}, execute time = {}ms'.format(
|
|
|
mid, uid, rank_result, (end_bottom - start_bottom) * 1000))
|
|
|
|
|
|
+ # ####### 视频宽高比AB实验
|
|
|
+ # 对内容精选进行 视频宽高比分发实验
|
|
|
+ if app_type == config_.APP_TYPE['LONG_VIDEO']:
|
|
|
+ videos = rank_result
|
|
|
+ rank_result = video_rank_by_w_h_rate(videos=videos)
|
|
|
+ log_.info('app_type: {}, mid: {}, uid: {}, rank_result: {}, execute time = {}ms'.format(
|
|
|
+ app_type, mid, uid, rank_result, (end_rank - start_rank) * 1000))
|
|
|
+
|
|
|
# ####### redis数据刷新
|
|
|
# log_.info('====== update redis')
|
|
|
# 预曝光数据同步刷新到Redis, 过期时间为0.5h
|
|
@@ -88,14 +96,18 @@ def video_recommend(mid, uid, size, app_type, algo_type, client_info):
|
|
|
log_.info('preview redis update success!')
|
|
|
|
|
|
# 将此次获取的ROV召回池config_.K末位视频id同步刷新到Redis中,方便下次快速定位到召回位置,过期时间为1天
|
|
|
- rov_recall_video = [item['videoId'] for item in rank_result[:3]
|
|
|
+ rov_recall_video = [item['videoId'] for item in rank_result[:config_.K]
|
|
|
if item['pushFrom'] == config_.PUSH_FROM['rov_recall']]
|
|
|
- if 0 < len(rov_recall_video) <= config_.K:
|
|
|
+ if len(rov_recall_video) > 0:
|
|
|
if not redis_helper.get_score_with_value(key_name=config_.UPDATE_ROV_KEY_NAME, value=rov_recall_video[-1]):
|
|
|
redis_helper.set_data_to_redis(key_name=last_rov_recall_key, value=rov_recall_video[-1])
|
|
|
- elif len(rov_recall_video) > config_.K:
|
|
|
- if not redis_helper.get_score_with_value(key_name=config_.UPDATE_ROV_KEY_NAME, value=rov_recall_video[config_.K - 1]):
|
|
|
- redis_helper.set_data_to_redis(key_name=last_rov_recall_key, value=rov_recall_video[config_.K - 1])
|
|
|
+
|
|
|
+ # if 0 < len(rov_recall_video) <= config_.K:
|
|
|
+ # if not redis_helper.get_score_with_value(key_name=config_.UPDATE_ROV_KEY_NAME, value=rov_recall_video[-1]):
|
|
|
+ # redis_helper.set_data_to_redis(key_name=last_rov_recall_key, value=rov_recall_video[-1])
|
|
|
+ # elif len(rov_recall_video) > config_.K:
|
|
|
+ # if not redis_helper.get_score_with_value(key_name=config_.UPDATE_ROV_KEY_NAME, value=rov_recall_video[config_.K - 1]):
|
|
|
+ # redis_helper.set_data_to_redis(key_name=last_rov_recall_key, value=rov_recall_video[config_.K - 1])
|
|
|
log_.info('last video redis update success!')
|
|
|
|
|
|
# 将此次分发的流量池视频,对 本地分发数-1 进行记录
|