1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import datetime
- import json
- import traceback
- import requests
- import tornado.web
- from db_config import *
- class AiHistoricalMissingMaterial(tornado.web.RequestHandler):
- def initialize(self, logger):
- self.logger = logger
- def post(self):
- self.logger.info("*************************************** NEW REQUEST ***************************************")
- try:
- for account_id in account_id_list:
- inst = GetRequestData(account_id)
- if inst.data is not None:
- request = requests.post(ai_strategy_request_url, inst.data)
- self.logger.info("ai策略的返回信息:%s" % request.text)
- self.write(request.text)
- self.flush()
- else:
- self.write(json.dumps({"message": "没有获取到视频新,不发送ai策略请求!"}))
- self.flush()
- except Exception:
- self.logger.error(traceback.format_exc())
- self.write(json.dumps(traceback.format_exc()))
- self.flush()
- class GetRequestData(object):
- def __init__(self, account_id):
- self.video = None
- self.account_id = account_id
- self.data = None
- self.get_video_info()
- self.get_request_data()
- def get_video_info(self):
- video_request_data = {"accountId": self.account_id,
- "videoCnt": historical_missing_video_cnt}
- request = requests.post(get_historical_missing_video_url,
- headers=headers,
- data=json.JSONEncoder().encode(video_request_data))
- self.video = request
- def get_request_data(self):
- if self.video['code'] == 0:
- self.data = {"video": self.video['data'],
- "operation_type": 1,
- "account_id": self.account_id,
- "ai_strategy_remark": "补充历史遗漏素材",
- "campaign_info": {
- "campaign_id": "",
- "campaign_name": account_id_to_name[self.account_id] +
- campaign_name.replace('自定义', '历史遗漏素材补充')
- + str(datetime.datetime.now()),
- "campaign_type": 2},
- 'group_info': {'unit_name': account_id_to_name[self.account_id] + unit_name +
- str(datetime.datetime.now()),
- 'begin_time': str(datetime.date.today())},
- 'creative_info': creative_info}
|