import datetime import json import traceback from utils import request_get, send_msg_to_feishu from db_helper import RedisHelper from config import set_config from log import Log config_, _ = set_config() log_ = Log() def get_ad_ecpm(): """获取广告ecpm值""" ad_ecpm = {} result = request_get(request_url=config_.GET_AD_ECPM_URL) print(result) if result is None: log_.info('获取广告ecpm值失败!') return ad_ecpm if result['code'] != 0: log_.info('获取广告ecpm值失败!') return ad_ecpm if not result['data']: return ad_ecpm ad_ecpm = result['data'] print(ad_ecpm) return ad_ecpm def update_ad_ecpm(): try: now_date = datetime.datetime.today() log_.info(f"now_date: {datetime.datetime.strftime(now_date, '%Y%m%d%H')}") # 获取广告ecpm值 ad_ecpm = get_ad_ecpm() log_.info(f"ad_ecpm: {ad_ecpm}") if len(ad_ecpm) == 0: send_msg_to_feishu( webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'), key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'), msg_text=f"rov-offline{config_.ENV_TEXT} - 广告ecpm获取失败!" ) return redis_helper = RedisHelper() redis_helper.set_data_to_redis(key_name=config_.KEY_NAME_AD_ECPM, value=json.dumps(ad_ecpm)) redis_helper.persist_key(key_name=config_.KEY_NAME_AD_ECPM) # send_msg_to_feishu( # webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'), # key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'), # msg_text=f"rov-offline{config_.ENV_TEXT} - 广告ecpm更新完成!\nad_ecpm = {ad_ecpm}" # # ) log_.info(f"ad ecpm update end!") except Exception as e: log_.error(f"广告ecpm更新失败, exception: {e}, traceback: {traceback.format_exc()}") send_msg_to_feishu( webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'), key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'), msg_text=f"rov-offline{config_.ENV_TEXT} - 广告ecpm更新失败\n" f"exception: {e}\n" f"traceback: {traceback.format_exc()}" ) if __name__ == '__main__': update_ad_ecpm()