|
@@ -5,7 +5,8 @@
|
|
|
|
|
|
import pandas as pd
|
|
|
from datetime import datetime
|
|
|
-from utils import get_data_from_odps
|
|
|
+from utils import get_data_from_odps, filter_video_status
|
|
|
+from db_helper import RedisHelper
|
|
|
from config import set_config
|
|
|
from log import Log
|
|
|
|
|
@@ -15,14 +16,31 @@ log_ = Log()
|
|
|
|
|
|
def get_old_videos():
|
|
|
"""获取老旧视频"""
|
|
|
- now_date = datetime.strftime(datetime.today(), '%Y%m%d')
|
|
|
+ now_date = datetime.strftime(datetime.today(), '%Y%m%d%H')
|
|
|
log_.info(f"now_date = {now_date}")
|
|
|
project = config_.OLD_VIDEOS_PROJECT
|
|
|
table = config_.OLD_VIDEOS_TABLE
|
|
|
records = get_data_from_odps(project=project, table=table, date=now_date)
|
|
|
- data = [{'videoid': record['videoid']} for record in records]
|
|
|
- data_df = pd.DataFrame(data=data)
|
|
|
- print(data_df)
|
|
|
+ video_ids = [int(record['videoid']) for record in records]
|
|
|
+ log_.info(f'videos count = {len(video_ids)}')
|
|
|
+ if len(video_ids) > 0:
|
|
|
+
|
|
|
+ filtered_videos = filter_video_status(list(video_ids))
|
|
|
+ log_.info('filter videos status finished, filtered_videos count={}'.format(len(filtered_videos)))
|
|
|
+ if not filtered_videos:
|
|
|
+ log_.info('视频状态不符合分发')
|
|
|
+ return None
|
|
|
+
|
|
|
+ key_name = f'{config_.RECALL_KEY_NAME_PREFIX_OLD_VIDEOS}{now_date}'
|
|
|
+ redis_helper = RedisHelper()
|
|
|
+
|
|
|
+ if redis_helper.key_exists(key_name):
|
|
|
+ redis_helper.del_keys(key_name)
|
|
|
+
|
|
|
+ redis_helper.add_data_with_set(key_name=key_name, values=filtered_videos, expire_time=24 * 3600)
|
|
|
+ log_.info('data to redis finished!')
|
|
|
+ else:
|
|
|
+ log_.info(f'no data!')
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|