1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import random
- import os
- import logging
- import json
- import time
- import traceback
- import ast
- from gevent import monkey
- monkey.patch_all()
- from flask import Flask, request
- from log import Log
- from config import set_config
- from ad_predict import get_ad_idea_id_with_thompson
- app = Flask(__name__)
- log_ = Log()
- config_ = set_config()
- @app.route('/healthcheck')
- def health_check():
- return 'ok!'
- @app.route('/ad/predict/getAdIdeaId', methods=['GET', 'POST'])
- def get_ad_idea_id():
- start_time = time.time()
- try:
- request_data = json.loads(request.get_data())
- mid = request_data.get('mid')
- ad_idea_id_list = request_data.get('adIdeaIdList')
- thompson_result = get_ad_idea_id_with_thompson(mid=mid, ad_idea_id_list=ad_idea_id_list)
- result = {'code': 200, 'message': 'success', 'data': {'mid': mid, 'adIdeaId': thompson_result['ad_idea_id']}}
- log_message = {
- 'requestUri': '/ad/predict/getAdIdeaId',
- 'logTimestamp': int(time.time() * 1000),
- 'requestData': request_data,
- 'thompsonResult': thompson_result,
- 'result': result,
- 'executeTime': (time.time() - start_time) * 1000
- }
- log_.info(log_message)
- return json.dumps(result)
- except Exception as e:
- log_.error(traceback.format_exc())
- result = {'code': -1, 'message': 'fail'}
- return json.dumps(result)
- if __name__ == '__main__':
- app.run()
|