|
@@ -1,6 +1,6 @@
|
|
|
import time
|
|
|
import traceback
|
|
|
-from datetime import date, timedelta
|
|
|
+from datetime import date, timedelta, datetime
|
|
|
|
|
|
from utils import filter_video_status, send_msg_to_feishu
|
|
|
from db_helper import RedisHelper
|
|
@@ -11,11 +11,16 @@ config_, env = set_config()
|
|
|
log_ = Log()
|
|
|
|
|
|
|
|
|
-def filter_rov_pool():
|
|
|
+def filter_rov_pool(app_type=None):
|
|
|
"""ROV召回池视频过滤"""
|
|
|
log_.info("rov recall pool filter start ...")
|
|
|
# 拼接redis-key
|
|
|
- key_name, _ = get_pool_redis_key(pool_type='rov')
|
|
|
+ if app_type is None:
|
|
|
+ key_name, _ = get_pool_redis_key(pool_type='rov')
|
|
|
+ else:
|
|
|
+ log_.info("appType = {}".format(app_type))
|
|
|
+ key_name, _ = get_pool_redis_key(pool_type='rov', app_type=app_type)
|
|
|
+
|
|
|
# 获取视频
|
|
|
redis_helper = RedisHelper()
|
|
|
data = redis_helper.get_data_zset_with_index(key_name=key_name, start=0, end=-1)
|
|
@@ -144,14 +149,33 @@ def get_pool_redis_key(pool_type, app_type=None):
|
|
|
"""
|
|
|
redis_helper = RedisHelper()
|
|
|
if pool_type == 'rov':
|
|
|
- # 判断热度列表是否更新,未更新则使用前一天的热度列表
|
|
|
- key_name = config_.RECALL_KEY_NAME_PREFIX + time.strftime('%Y%m%d')
|
|
|
- if redis_helper.key_exists(key_name):
|
|
|
- redis_date = date.today().strftime('%Y%m%d')
|
|
|
+ # appType = 6
|
|
|
+ if app_type == config_.APP_TYPE['SHORT_VIDEO']:
|
|
|
+ # 获取当前所在小时
|
|
|
+ redis_date = datetime.now().hour
|
|
|
+ # 判断热度列表是否更新,未更新则使用前一小时的热度列表
|
|
|
+ key_name = '{}{}.{}'.format(config_.RECALL_KEY_NAME_PREFIX_APP_TYPE, app_type, redis_date)
|
|
|
+ if redis_helper.key_exists(key_name):
|
|
|
+ return key_name, redis_date
|
|
|
+ else:
|
|
|
+ if redis_date == 0:
|
|
|
+ redis_date_ = 23
|
|
|
+ else:
|
|
|
+ redis_date_ = redis_date - 1
|
|
|
+ key_name = '{}{}.{}'.format(config_.RECALL_KEY_NAME_PREFIX_APP_TYPE, app_type, redis_date_)
|
|
|
+
|
|
|
+ return key_name, redis_date_
|
|
|
+ # 其他
|
|
|
else:
|
|
|
- redis_date = (date.today() - timedelta(days=1)).strftime('%Y%m%d')
|
|
|
- key_name = config_.RECALL_KEY_NAME_PREFIX + redis_date
|
|
|
- return key_name, redis_date
|
|
|
+ # 判断热度列表是否更新,未更新则使用前一天的热度列表
|
|
|
+ key_name = config_.RECALL_KEY_NAME_PREFIX + time.strftime('%Y%m%d')
|
|
|
+ if redis_helper.key_exists(key_name):
|
|
|
+ redis_date = date.today().strftime('%Y%m%d')
|
|
|
+ else:
|
|
|
+ redis_date = (date.today() - timedelta(days=1)).strftime('%Y%m%d')
|
|
|
+ key_name = config_.RECALL_KEY_NAME_PREFIX + redis_date
|
|
|
+
|
|
|
+ return key_name, redis_date
|
|
|
|
|
|
elif pool_type == 'flow':
|
|
|
# 流量池
|
|
@@ -166,6 +190,8 @@ def main():
|
|
|
try:
|
|
|
# ROV召回池视频过滤
|
|
|
filter_rov_pool()
|
|
|
+ # appType = 6,ROV召回池视频过滤
|
|
|
+ filter_rov_pool(app_type=config_.APP_TYPE['SHORT_VIDEO'])
|
|
|
# 流量池视频过滤
|
|
|
filter_flow_pool()
|
|
|
# 兜底视频过滤
|