|
@@ -12,9 +12,34 @@ config_, env = set_config()
|
|
|
log_ = Log()
|
|
|
|
|
|
|
|
|
+def filter_position_videos():
|
|
|
+ """按位置排序视频过滤"""
|
|
|
+ log_.info("position videos filter start...")
|
|
|
+ position_key_list = [config_.RECALL_POSITION1_KEY_NAME, config_.RECALL_POSITION2_KEY_NAME]
|
|
|
+ redis_helper = RedisHelper()
|
|
|
+ for key_name in position_key_list:
|
|
|
+ position = key_name.split('.')[-1]
|
|
|
+ log_.info("position = {}".format(position))
|
|
|
+ # 获取数据
|
|
|
+ position_videos = redis_helper.get_data_from_redis(key_name=key_name)
|
|
|
+ if position_videos is None:
|
|
|
+ log_.info('position {} videos is None!'.format(position))
|
|
|
+ continue
|
|
|
+ else:
|
|
|
+ # 过滤
|
|
|
+ position_video_ids = [int(video_id) for video_id in json.loads(position_videos)]
|
|
|
+ filter_video_ids = filter_video_status(video_ids=position_video_ids)
|
|
|
+ # 重新写入redis
|
|
|
+ redis_helper.set_data_to_redis(key_name=key_name,
|
|
|
+ value=json.dumps(filter_video_ids),
|
|
|
+ expire_time=30 * 3600)
|
|
|
+ log_.info('position {} videos filter end!'.format(position))
|
|
|
+ log_.info("position videos filter end!")
|
|
|
+
|
|
|
+
|
|
|
def filter_relevant_videos():
|
|
|
"""运营强插相关推荐视频过滤"""
|
|
|
- log_.info("relevant videos with op filter start...")
|
|
|
+ log_.info("relevant videos with op filter filter start...")
|
|
|
# 读取需要过滤的头部视频id
|
|
|
redis_helper = RedisHelper()
|
|
|
head_videos = redis_helper.get_data_from_set(key_name=config_.RELEVANT_TOP_VIDEOS_KEY_NAME)
|
|
@@ -270,6 +295,8 @@ def main():
|
|
|
filter_rov_updated()
|
|
|
# 运营强插相关推荐视频过滤
|
|
|
filter_relevant_videos()
|
|
|
+ # 按位置排序视频过滤
|
|
|
+ filter_position_videos()
|
|
|
except Exception as e:
|
|
|
log_.error(traceback.format_exc())
|
|
|
send_msg_to_feishu('{} - 过滤失败 \n {}'.format(config_.ENV_TEXT, traceback.format_exc()))
|