|
@@ -383,7 +383,7 @@ class FilterVideos(object):
|
|
|
key_name = f"{config_.PREVIEW_KEY_PREFIX}{self.app_type}:{self.mid}"
|
|
|
print("key_name:", key_name)
|
|
|
pe_videos_list = redis_helper.get_data_from_set(key_name)
|
|
|
- print("pe_videos_list:", pe_videos_list)
|
|
|
+ #print("pe_videos_list:", pe_videos_list)
|
|
|
# log_.info('****app_type = {}, mid = {}, uid = {}, pe_videos_list = {}'.format(
|
|
|
# self.app_type, self.mid, self.uid, pe_videos_list))
|
|
|
# log_.info('****app_type = {}, mid = {}, uid = {}, video_ids = {}'.format(
|
|
@@ -391,9 +391,9 @@ class FilterVideos(object):
|
|
|
if not pe_videos_list:
|
|
|
return video_ids
|
|
|
pe_videos = [int(video) for video in pe_videos_list]
|
|
|
- print("pe_videos:", pe_videos)
|
|
|
+ print("pe_videos:", len(pe_videos))
|
|
|
filtered_videos = [video_id for video_id in video_ids if video_id not in pe_videos]
|
|
|
- print(f"pre res: {filtered_videos}\nexecute_time: {(time.time() - pre_time) * 1000}")
|
|
|
+ #print(f"pre res: {filtered_videos}\nexecute_time: {(time.time() - pre_time) * 1000}")
|
|
|
return filtered_videos
|
|
|
|
|
|
# def filter_video_status(self, video_ids):
|
|
@@ -481,7 +481,7 @@ class FilterVideos(object):
|
|
|
if 6 in types:
|
|
|
types = list(types)
|
|
|
types.remove(6)
|
|
|
- print(types)
|
|
|
+ #print(types)
|
|
|
request_data = {"appType": self.app_type,
|
|
|
"mid": self.mid,
|
|
|
"uid": self.uid,
|
|
@@ -489,7 +489,7 @@ class FilterVideos(object):
|
|
|
"videoIds": video_ids}
|
|
|
# 调用http接口
|
|
|
result = request_post(request_url=config_.VIDEO_FILTER_URL, request_data=request_data, timeout=(0.1, 1))
|
|
|
- print(f"view res: {result}\nexecute_time: {(time.time() - st_time) * 1000}")
|
|
|
+ #print(f"view res: {result}\nexecute_time: {(time.time() - st_time) * 1000}")
|
|
|
if result is None:
|
|
|
# log_.info('过滤失败,types: {}'.format(types))
|
|
|
return []
|
|
@@ -508,6 +508,7 @@ class FilterVideos(object):
|
|
|
:param shield_key_name_list: 过滤视频 redis-key
|
|
|
:return: filtered_videos 过滤后的列表 type-list
|
|
|
"""
|
|
|
+ print("filter_shield_video:", len(filter_shield_video))
|
|
|
if len(video_ids) == 0:
|
|
|
return video_ids
|
|
|
# 根据Redis缓存中的数据过滤
|
|
@@ -522,6 +523,7 @@ class FilterVideos(object):
|
|
|
# continue
|
|
|
# shield_videos = [int(video) for video in shield_videos_list]
|
|
|
# video_ids = [int(video_id) for video_id in video_ids if int(video_id) not in shield_videos]
|
|
|
+ print("video_ids:", len(video_ids))
|
|
|
return video_ids
|
|
|
|
|
|
def new_filter_video(self):
|
|
@@ -546,7 +548,7 @@ class FilterVideos(object):
|
|
|
#2. 视频已曝光过滤
|
|
|
st_viewed = time.time()
|
|
|
print("---filtered viewed---")
|
|
|
- print("filtered_pre_result:",filtered_pre_result)
|
|
|
+ #print("filtered_pre_result:",filtered_pre_result)
|
|
|
filtered_viewed_result = self.filter_video_viewed(video_ids=filtered_pre_result)
|
|
|
if not filtered_viewed_result:
|
|
|
return None
|
|
@@ -586,7 +588,7 @@ class FilterVideos(object):
|
|
|
# 过滤 影视 + 宗教
|
|
|
keys = [f"rov.filter.religion.{video_id}" for video_id in video_ids]
|
|
|
else:
|
|
|
- print(f"m_r res: {video_ids}\nexecute_time: {(time.time() - st_time) * 1000}")
|
|
|
+ #print(f"m_r res: {video_ids}\nexecute_time: {(time.time() - st_time) * 1000}")
|
|
|
return video_ids
|
|
|
redis_helper = RedisHelper(redis_info=config_.REDIS_INFO_FILTER)
|
|
|
filter_videos = []
|
|
@@ -598,20 +600,21 @@ class FilterVideos(object):
|
|
|
filter_videos.extend([int(data) for data in mget_res if data is not None])
|
|
|
if len(filter_videos) > 0:
|
|
|
filtered_videos = set(video_ids) - set(filter_videos)
|
|
|
- print(f"m_r res: {list(filtered_videos)}\nexecute_time: {(time.time() - st_time) * 1000}")
|
|
|
+ #print(f"m_r res: {list(filtered_videos)}\nexecute_time: {(time.time() - st_time) * 1000}")
|
|
|
return list(filtered_videos)
|
|
|
else:
|
|
|
- print(f"m_r res: {video_ids}\nexecute_time: {(time.time() - st_time) * 1000}")
|
|
|
+ #print(f"m_r res: {video_ids}\nexecute_time: {(time.time() - st_time) * 1000}")
|
|
|
return video_ids
|
|
|
|
|
|
def filter_videos_new(self, pool_type='rov', region_code=None, shield_config=None):
|
|
|
"""视频过滤"""
|
|
|
# 预曝光过滤
|
|
|
st_pre = time.time()
|
|
|
+ print("self.video_ids:", len(self.video_ids))
|
|
|
filtered_pre_result = self.filter_video_previewed(self.video_ids)
|
|
|
if not filtered_pre_result:
|
|
|
return None
|
|
|
-
|
|
|
+ print("filtered_pre_result:", len(filtered_pre_result))
|
|
|
# 视频已曝光过滤/白名单过滤
|
|
|
st_viewed = time.time()
|
|
|
t = [
|
|
@@ -619,36 +622,40 @@ class FilterVideos(object):
|
|
|
gevent.spawn(self.filter_movie_religion_video, filtered_pre_result)]
|
|
|
gevent.joinall(t)
|
|
|
filtered_result_list = [i.get() for i in t]
|
|
|
+ print("filtered_result_list:",len(filtered_result_list))
|
|
|
filtered_viewed_result = list(set(filtered_result_list[0]) & set(filtered_result_list[1]))
|
|
|
- print(f"view&m_r res: {filtered_viewed_result}\nexecute_time: {(time.time() - st_viewed) * 1000}")
|
|
|
+ #print(f"view&m_r res: {filtered_viewed_result}\nexecute_time: {(time.time() - st_viewed) * 1000}")
|
|
|
+ print("filtered:",len(filtered_viewed_result))
|
|
|
if not filtered_viewed_result:
|
|
|
+ print("12334")
|
|
|
return None
|
|
|
filtered_viewed_videos = [int(video_id) for video_id in filtered_viewed_result]
|
|
|
+ print("result:", len(filtered_viewed_videos))
|
|
|
if pool_type == 'flow':
|
|
|
# 流量池视频需过滤屏蔽视频
|
|
|
if region_code is None or shield_config is None:
|
|
|
return filtered_viewed_videos
|
|
|
+ else:
|
|
|
+ shield_key_name_list = shield_config.get(region_code, None)
|
|
|
+ if shield_key_name_list is not None:
|
|
|
+ filtered_shield_video_ids = self.filter_shield_video(
|
|
|
+ video_ids=filtered_viewed_videos, shield_key_name_list=shield_key_name_list
|
|
|
+ )
|
|
|
+ log_.info({
|
|
|
+ 'logTimestamp': int(time.time() * 1000),
|
|
|
+ 'pool_type': pool_type,
|
|
|
+ 'request_id': self.request_id,
|
|
|
+ 'app_type': self.app_type,
|
|
|
+ 'mid': self.mid,
|
|
|
+ 'uid': self.uid,
|
|
|
+ 'operation': 'shield_filter',
|
|
|
+ 'request_videos': filtered_viewed_videos,
|
|
|
+ 'shield_filter_result': filtered_shield_video_ids,
|
|
|
+ 'executeTime': (time.time() - st_viewed) * 1000
|
|
|
+ })
|
|
|
+ return filtered_shield_video_ids
|
|
|
else:
|
|
|
- shield_key_name_list = shield_config.get(region_code, None)
|
|
|
- if shield_key_name_list is not None:
|
|
|
- filtered_shield_video_ids = self.filter_shield_video(
|
|
|
- video_ids=filtered_viewed_videos, shield_key_name_list=shield_key_name_list
|
|
|
- )
|
|
|
- log_.info({
|
|
|
- 'logTimestamp': int(time.time() * 1000),
|
|
|
- 'pool_type': pool_type,
|
|
|
- 'request_id': self.request_id,
|
|
|
- 'app_type': self.app_type,
|
|
|
- 'mid': self.mid,
|
|
|
- 'uid': self.uid,
|
|
|
- 'operation': 'shield_filter',
|
|
|
- 'request_videos': filtered_viewed_videos,
|
|
|
- 'shield_filter_result': filtered_shield_video_ids,
|
|
|
- 'executeTime': (time.time() - st_viewed) * 1000
|
|
|
- })
|
|
|
- return filtered_shield_video_ids
|
|
|
- else:
|
|
|
- return filtered_viewed_videos
|
|
|
+ return filtered_viewed_videos
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|