|
@@ -3,6 +3,7 @@ import json
|
|
import time
|
|
import time
|
|
from config import set_config
|
|
from config import set_config
|
|
from db_helper import RedisHelper
|
|
from db_helper import RedisHelper
|
|
|
|
+from utils import filter_video_status
|
|
|
|
|
|
config_, _ = set_config()
|
|
config_, _ = set_config()
|
|
|
|
|
|
@@ -19,12 +20,16 @@ def get_relevant_videos_with_excel():
|
|
head_vid = int(df.iloc[i]['headVid'])
|
|
head_vid = int(df.iloc[i]['headVid'])
|
|
order = int(df.iloc[i]['order'])
|
|
order = int(df.iloc[i]['order'])
|
|
recommend_vid = int(df.iloc[i]['recommendVid'])
|
|
recommend_vid = int(df.iloc[i]['recommendVid'])
|
|
|
|
+ # 状态过滤
|
|
|
|
+ filtered_videos = filter_video_status(video_ids=[recommend_vid])
|
|
|
|
+ if not filtered_videos or len(filtered_videos) == 0:
|
|
|
|
+ continue
|
|
# 将时间转换为10位时间戳
|
|
# 将时间转换为10位时间戳
|
|
start_time = int(time.mktime(time.strptime(df.iloc[i]['startTime'].split(r'.')[0], '%Y-%m-%d %H:%M:%S')))
|
|
start_time = int(time.mktime(time.strptime(df.iloc[i]['startTime'].split(r'.')[0], '%Y-%m-%d %H:%M:%S')))
|
|
finish_time = int(time.mktime(time.strptime(df.iloc[i]['finishTime'].split(r'.')[0], '%Y-%m-%d %H:%M:%S')))
|
|
finish_time = int(time.mktime(time.strptime(df.iloc[i]['finishTime'].split(r'.')[0], '%Y-%m-%d %H:%M:%S')))
|
|
item = {
|
|
item = {
|
|
'order': order,
|
|
'order': order,
|
|
- 'recommend_vid': recommend_vid,
|
|
|
|
|
|
+ 'recommend_vid': filtered_videos[0],
|
|
'start_time': start_time,
|
|
'start_time': start_time,
|
|
'finish_time': finish_time
|
|
'finish_time': finish_time
|
|
}
|
|
}
|
|
@@ -35,12 +40,13 @@ def get_relevant_videos_with_excel():
|
|
head_videos.append(head_vid)
|
|
head_videos.append(head_vid)
|
|
|
|
|
|
print(head_videos)
|
|
print(head_videos)
|
|
- return relevant_videos
|
|
|
|
|
|
+ return relevant_videos, head_videos
|
|
|
|
|
|
|
|
|
|
-def update_relevant_videos_to_redis(relevant_videos):
|
|
|
|
|
|
+def update_relevant_videos_to_redis(relevant_videos, head_videos):
|
|
if not relevant_videos:
|
|
if not relevant_videos:
|
|
return
|
|
return
|
|
|
|
+ redis_helper = RedisHelper()
|
|
for head_vid, videos in relevant_videos.items():
|
|
for head_vid, videos in relevant_videos.items():
|
|
# 拼接key
|
|
# 拼接key
|
|
key_name = '{}{}'.format(config_.RELEVANT_VIDEOS_WITH_OP_KEY_NAME, head_vid)
|
|
key_name = '{}{}'.format(config_.RELEVANT_VIDEOS_WITH_OP_KEY_NAME, head_vid)
|
|
@@ -52,11 +58,15 @@ def update_relevant_videos_to_redis(relevant_videos):
|
|
if expire_time <= 0:
|
|
if expire_time <= 0:
|
|
return
|
|
return
|
|
# 存入redis
|
|
# 存入redis
|
|
- redis_helper = RedisHelper()
|
|
|
|
redis_helper.set_data_to_redis(key_name=key_name, value=videos_json, expire_time=expire_time)
|
|
redis_helper.set_data_to_redis(key_name=key_name, value=videos_json, expire_time=expire_time)
|
|
print('head_vid = {} relevant videos update finished!'.format(head_vid))
|
|
print('head_vid = {} relevant videos update finished!'.format(head_vid))
|
|
|
|
|
|
|
|
+ # 将头部id存入redis中
|
|
|
|
+ redis_helper.add_data_with_set(key_name=config_.RELEVANT_TOP_VIDEOS_KEY_NAME,
|
|
|
|
+ values=tuple(head_videos), expire_time=24*3600)
|
|
|
|
+ print('relevant top videos update finished!')
|
|
|
|
+
|
|
|
|
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|
|
- relevant_videos = get_relevant_videos_with_excel()
|
|
|
|
- update_relevant_videos_to_redis(relevant_videos=relevant_videos)
|
|
|
|
|
|
+ relevant_videos, head_videos = get_relevant_videos_with_excel()
|
|
|
|
+ update_relevant_videos_to_redis(relevant_videos=relevant_videos, head_videos=head_videos)
|