|
@@ -19,7 +19,7 @@ def thompson_process(creative_id):
|
|
|
# st_time1 = time.time()
|
|
|
thompson_param = redis_helper.get_data_from_redis(key_name=f"{config_.THOMPSON_PARAM_KEY_PREFIX}{creative_id}")
|
|
|
# get_redis_time = int(time.time() - st_time1) * 1000
|
|
|
- thompson_time = {}
|
|
|
+ # thompson_time = {}
|
|
|
if thompson_param is None or thompson_param == '':
|
|
|
# 参数不存在,随机生成[0, 1)之间的浮点数
|
|
|
st_time2 = time.time()
|
|
@@ -48,17 +48,17 @@ def thompson_process(creative_id):
|
|
|
def get_creative_id_with_thompson(mid, creative_id_list, gevent_pool):
|
|
|
"""利用Thompson采样获取此次要展示的广告创意ID"""
|
|
|
# 限制协程最大并发数:20
|
|
|
- st_time6 = time.time()
|
|
|
- gevent_pool_time = int(time.time() - st_time6) * 1000
|
|
|
- st_time5 = time.time()
|
|
|
+ # st_time6 = time.time()
|
|
|
+ # gevent_pool_time = int(time.time() - st_time6) * 1000
|
|
|
+ # st_time5 = time.time()
|
|
|
tasks = [gevent_pool.spawn(thompson_process, creative_id) for creative_id in creative_id_list]
|
|
|
gevent.joinall(tasks)
|
|
|
thompson_res_list = [t.get() for t in tasks]
|
|
|
- get_random_time = int(time.time() - st_time5) * 1000
|
|
|
+ # get_random_time = int(time.time() - st_time5) * 1000
|
|
|
# 按照score排序
|
|
|
- st_time4 = time.time()
|
|
|
+ # st_time4 = time.time()
|
|
|
thompson_res_rank = sorted(thompson_res_list, key=lambda x: x[1], reverse=True)
|
|
|
- sort_time = int(time.time() - st_time4) * 1000
|
|
|
+ # sort_time = int(time.time() - st_time4) * 1000
|
|
|
rank_res = {
|
|
|
'mid': mid,
|
|
|
'creative_id': thompson_res_rank[0][0],
|
|
@@ -67,6 +67,6 @@ def get_creative_id_with_thompson(mid, creative_id_list, gevent_pool):
|
|
|
'random_flag': thompson_res_rank[0][3],
|
|
|
'thompson_res_rank': thompson_res_rank
|
|
|
}
|
|
|
- log_.info({'gevent_pool_time': gevent_pool_time, 'get_random_time': get_random_time, 'sort_time': sort_time})
|
|
|
+ # log_.info({'gevent_pool_time': gevent_pool_time, 'get_random_time': get_random_time, 'sort_time': sort_time})
|
|
|
return rank_res
|
|
|
|