From c86de9c326d68aabc0f293ff91d3ff38d7c48c4c Mon Sep 17 00:00:00 2001 From: pengtao Date: Thu, 25 Jul 2019 16:50:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BD=8D=E7=BD=AE=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ad_interface_tornado.py | 59 +++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/ad_interface_tornado.py b/ad_interface_tornado.py index aa58296..be4543f 100644 --- a/ad_interface_tornado.py +++ b/ad_interface_tornado.py @@ -149,7 +149,6 @@ class DispatchHandler(tornado.web.RequestHandler): def _selfGetAdList(self): try: - pdb.set_trace() input = json.loads(self.get_query_argument('body')) gameid = input['gameid'] channelid=input.get('channelid',None) or 6001 @@ -175,37 +174,35 @@ class DispatchHandler(tornado.web.RequestHandler): except Exception: log.error(f"get redis data failed!", exc_info=True) return self.write({'errcode': 2, "errmsg": f"get redis data failed!"}) - dist_ids = list(set(ids)) - info = [] - if not dist_ids: - result = {'errcode': 0, "errmsg": '', "message": {"totoal": len(info), "result": info}} - else: - try: - # 如果取得的记录条数大于预设,扔掉多余的记录,当前采用的是随机选择,以后可能需要添加加权选择 - id_list = [] - if limit < len(dist_ids): - nums = limit - else: - nums = len(dist_ids) - - for i in range(nums): - while 1: - # new = my_redis.srandmember(key) - import random - new = random.choice(dist_ids) - if new not in id_list: - id_list.append(new) - break - for id in id_list: - temp = my_redis.hgetall(f"ad::{id}::info") - info.append(temp) - result = {'errcode': 0, "errmsg": '', "message": {"totoal": len(info), "result": info}} - except Exception as e: - result = {'errcode': 1, "errmsg": e} - return self.write(result) + dist_ids = list(set(ids)) + info = [] + if not dist_ids: + result = {'errcode': 0, "errmsg": '', "message": {"totoal": len(info), "result": info}} else: - result = {'errcode': 2, "errmsg": f"get args failed!"} - return self.write(result) + try: + # 如果取得的记录条数大于预设,扔掉多余的记录,当前采用的是随机选择,以后可能需要添加加权选择 + id_list = [] + if limit < len(dist_ids): + nums = limit + else: + nums = len(dist_ids) + + for i in range(nums): + while 1: + # new = my_redis.srandmember(key) + import random + new = random.choice(dist_ids) + if new not in id_list: + id_list.append(new) + break + for id in id_list: + temp = my_redis.hgetall(f"ad::{id}::info") + info.append(temp) + result = {'errcode': 0, "errmsg": '', "message": {"totoal": len(info), "result": info}} + except Exception as e: + result = {'errcode': 1, "errmsg": e} + return self.write(result) + def make_app():