|
@@ -21,6 +21,7 @@ from utils import update_video_w_h_rate
|
|
|
from user2new import user2new
|
|
|
from params_helper import Params
|
|
|
from manager_op import get_video_list, search_video
|
|
|
+from ad_recommend import ad_recommend_predict
|
|
|
# from werkzeug.middleware.profiler import ProfilerMiddleware
|
|
|
# from geventwebsocket.handler import WebSocketHandler
|
|
|
|
|
@@ -289,6 +290,32 @@ def get_video_online_list():
|
|
|
return json.dumps(result)
|
|
|
|
|
|
|
|
|
+# 广告推荐
|
|
|
+@app.route('/applet/ad/predict', methods=['GET', 'POST'])
|
|
|
+def ad_predict():
|
|
|
+ start_time = time.time()
|
|
|
+ try:
|
|
|
+ request_data = json.loads(request.get_data())
|
|
|
+ mid = request_data.get('mid')
|
|
|
+ video_id = request_data.get('videoId')
|
|
|
+ ad_predict = ad_recommend_predict(mid=mid, video_id=video_id)
|
|
|
+ result = {'code': 200, 'message': 'success', 'data': ad_predict}
|
|
|
+ log_message = {
|
|
|
+ 'requestUri': '/applet/ad/predict',
|
|
|
+ 'logTimestamp': int(time.time() * 1000),
|
|
|
+ 'mid': mid,
|
|
|
+ 'video_id': video_id,
|
|
|
+ '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)
|
|
|
+
|
|
|
+
|
|
|
# app热榜
|
|
|
@app.route('/app/video/hot_list', methods=['GET', 'POST'])
|
|
|
def app_video_hot_list():
|