1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- # -*- coding: utf-8 -*-
- import traceback
- from config import set_config
- from log import Log
- from utils import execute_sql_from_odps
- from db_helper import RedisHelper
- import datetime
- config_, _ = set_config()
- log_ = Log()
- redis_helper = RedisHelper()
- table = "loghubods.special_area_recommend_limit"
- RISK_SHIELD_FILTER_VIDEO_V1_STR = "RISK_SHIELD_FILTER_VIDEO_V1_STR"
- def get_special_area_limit_videos():
- """获取特殊地域屏蔽视频并存入redis"""
- try:
- # 获取特殊地域屏蔽视频
- sql = "SELECT videoid FROM {}.{};".format(config_.PROJECT_SPECIAL_AREA_LIMIT,
- config_.TABLE_SPECIAL_AREA_LIMIT)
- print("sql:"+sql)
- records = execute_sql_from_odps(project=config_.PROJECT_SPECIAL_AREA_LIMIT, sql=sql)
- video_id_list = []
- with records.open_reader() as reader:
- for record in reader:
- video_id = int(record['videoid'])
- video_id_list.append(video_id)
- log_.info(f"special area limit videos count = {len(video_id_list)}")
- log_.info("videos = {}".format(",".join([str(i) for i in video_id_list])))
- # 存入redis
- if len(video_id_list) > 0:
- value = ",".join([str(i) for i in video_id_list])
- redis_helper.set_data_to_redis(key_name=RISK_SHIELD_FILTER_VIDEO_V1_STR, value=value,
- expire_time=3600*24 * 7)
- # redis_helper.del_keys(key_name=config_.SPECIAL_AREA_LIMIT_KEY_NAME)
- # redis_helper.add_data_with_set(key_name=config_.SPECIAL_AREA_LIMIT_KEY_NAME, values=video_id_list,
- # expire_time=25 * 3600)
- except Exception as e:
- log_.error(str(e) + str(traceback.format_exc()))
- def main():
- log_.info("开始执行:" + datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
- get_special_area_limit_videos()
- expire_time = 3600*24 * 30
- key = "RISK_SHIELD_FILTER_RULE_V1_JSON"
- value = "{\"2\": []}"
- redis_helper.set_data_to_redis(key, value, expire_time)
- value_get = redis_helper.get_data_from_redis(key_name=key)
- print('key:', key, type(key))
- print('value_get:', value_get, type(value_get))
- key = "RISK_SHIELD_FILTER_EXPANSION_FACTOR_INT"
- value = "10"
- redis_helper.set_data_to_redis(key, value, expire_time)
- value_get = redis_helper.get_data_from_redis(key_name=key)
- print('key:', key, type(key))
- print('value_get:', value_get, type(value_get))
- key = "RISK_SHIELD_FILTER_FLAG_BOOL"
- value = "True"
- redis_helper.set_data_to_redis(key, value, expire_time)
- value_get = redis_helper.get_data_from_redis(key_name=key)
- print('key:', key, type(key))
- print('value_get:', value_get, type(value_get))
- log_.info("完成执行:" + datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
- if __name__ == '__main__':
- main()
- # cd /root/zhangbo/rov-offline
- # python alg_recsys_recall_shield_videos.py
|