def get_word2vec_service_client(): global _client_word2vec_service if not _client_word2vec_service: _ = get_fast_transport(RPC_LOCAL_PROXY, timeout=default_timeout_w2v) try: protocol = get_service_protocol(service="word2vec_service", fast=True) except: protocol = get_service_protocol(service="cy_word2vec", fast=True) _client_word2vec_service = Word2vec_client(protocol) return _client_word2vec_service
def get_user_profile_client(): global _client_user_profile if not _client_user_profile: _ = get_fast_transport(RPC_LOCAL_PROXY, timeout=default_timeout) protocol = get_service_protocol(service="user_profile", fast=True) _client_user_profile = UserProfileClient(protocol) return _client_user_profile
def test_recommend_plan(): test_num = int(sys.argv[2]) endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service, fast=True) client = Client(protocol) from random import shuffle uids = get_one_day_uid_from_file('log_event_20180122') shuffle(uids) selected_uids = uids[:test_num] total_times = {} for uid in selected_uids: input_arg = json.dumps({'user_id': uid, 'top_n': 2}) t1 = time.time() o = client.recommend_plan(input_arg) t2 = time.time() total_times[uid] = t2 - t1 print '==' * 10 print uid print o sorted_total_times = sorted(total_times.iteritems(), key=lambda x: x[1], reverse=True) for uid, t in sorted_total_times[:10]: print uid, t
def get_medical_service_client(): global _client_medical_service if not _client_medical_service: _ = get_fast_transport(RPC_LOCAL_PROXY, timeout=default_timeout) protocol = get_service_protocol(service='medical_service', fast=True) _client_medical_service = Medical_client(protocol) return _client_medical_service
def get_problem_triage_client(): global _client_problem_triage_service if not _client_problem_triage_service: _ = get_fast_transport(RPC_LOCAL_PROXY, timeout=default_timeout) protocol = get_service_protocol(service="problem_triage", fast=True) _client_problem_triage_service = ProblemTriageClient(protocol) return _client_problem_triage_service
def get_search_service_client(): global _client_search_service if not _client_search_service: _ = get_fast_transport(RPC_LOCAL_PROXY, timeout=default_timeout) protocol = get_service_protocol(service="search", fast=True) _client_search_service = Search_client(protocol) return _client_search_service
def get_problem_promotion_service_client(): global _client_qa_promotion_service if not _client_qa_promotion_service: _ = get_fast_transport(RPC_LOCAL_PROXY, timeout=default_timeout) protocol = get_service_protocol(service="qa_promotion_service", fast=True) _client_qa_promotion_service = QAPromotionClient(protocol) return _client_qa_promotion_service
def test_recommend_list(): print "=========test_recommend_list==========" endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service, fast=True) client = Client(protocol) input = json.dumps({'user_id': -1}) output = client.recommend_list(input) print output
def __init__(self, ForTest=False): service = 'search' if ForTest: endpoint = RPC_LOCAL_PROXY_BIZ else: endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service, fast=True) self.client = Search_client(protocol)
def test_get_doctor_topn_diseases(): service1 = 'search' endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service1, fast=True) client = Search_client(protocol) id1 = "clinic_web_c383b3a7e6db1f1d" id2 = "clinic_web_1031d90f8b4de6aa" o = client.get_doctor_topN_diseases(id1) print o
def test_recommend_topn_topic(): print "=========test_recommend_topn_topic==========" # from general_utils.solr_utils import nat_get_title endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service, fast=True) client = Client(protocol) input = json.dumps({'user_id': 112885379}) output = client.recommend_topn_topic(input) output = json.loads(output)['output'] print output
def ar(): print "=========ar==========" endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service, fast=True) client = Client(protocol) input = json.dumps([{'user_id': 2585377, 'timestamp': 1512375821.56}]) output = client.article_recommend(input) print output return output
def client_test(server): gevent.sleep(1) service = "" endpoint = TEST_SOCKET if FAST_BINARY: get_fast_transport(endpoint, timeout=5000) protocol = get_service_protocol(service, fast=FAST_BINARY) else: get_base_protocol(endpoint, timeout=5000) protocol = get_service_protocol(service, fast=FAST_BINARY) client = Client(protocol) print "Begin Request" try: t = time.time() total_times = 10000 for i in xrange(total_times): client.ping() t = time.time() - t print "AVG RT: %.3fms" % (t * 1000 / total_times) finally: server.stop()
def test_problem_triage(): from problem_triage_service.ttypes import TriageParams service1 = 'problem_triage' endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service1, fast=True) client = PT_client(protocol) query = '感冒' result = client.triage_second( TriageParams(content=query, has_image=None, problem_id=None)) print result
def test_rn_by_uid(): uid = sys.argv[2] num = int(sys.argv[3]) endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service, fast=True) client = Client(protocol) input_arg = json.dumps({'user_id': uid, 'top_n': num}) o = json.loads(client.recommend_news(input_arg)) print 'ids', o['ids']
def test_search_doctor(): input_arg = json.dumps({"filter": {"is_tel_price_v2": 0,"clinic_no":"ag",}, "query": {"start": "0", "text": "妇科", "rows": "30", "partner_name": "qiangshengxinpuni"}, "sort": "default"}) service1 = 'search' endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service1, fast=True) client = Search_client(protocol) o = json.loads(client.search_doctors(input_arg)) for x in o:print x
def test_big_search3_kernel(q): input_arg = json.dumps({"query": {"province": "\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a", "has_topic": False, "text": q, "has_video": False, "is_force": 0, "ip": "111.111.111.111", "uid": "144178157", "device_id": "dc4cf9c2ef89ef9","clinic_no":"2"}}) service1 = 'search' endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service1, fast=True) client = Search_client(protocol) o = client.big_search3(input_arg) print o
def test_recommend_tags(): print "=========test_recommend_tags==========" endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service, fast=True) client = Client(protocol) input = json.dumps({'user_id': 112885379}) output = client.recommend_tags(input) output = json.loads(output)['output'] print output plan = output['plan'] words = output['words'] for x in plan: print 'plan', x['name'], x['url'] for x in words: print 'word', x
def test_many(): file_name = sys.argv[2] num = int(sys.argv[3]) qs = [] uids = set() with open(file_name, 'r') as f: for l in f: ll = l.strip('\n').split(',') # print ll if len(ll) != 12: continue if ll[0] == 'uid': continue uid = int(ll[0]) if uid in uids: continue uids.add(uid) ts = float(ll[5]) info = ll[4].decode('gbk') qs.append([uid, ts, info]) endpoint = RPC_LOCAL_PROXY get_fast_transport(endpoint) protocol = get_service_protocol(service, fast=True) client = Client(protocol) times_ar = {} times_topic = {} times_tags = {} times_list = {} times_news = {} ar_ecps = [] rl_ecps = [] # begin = True print len(qs) shuffle(qs) for uid, ts, info in qs[:num]: time.sleep(1) # 防止接口累着 # if uid == 3024070: # begin = True # if not begin: # continue # test article_recommend input = json.dumps([{'user_id': uid, 'timestamp': ts}]) t1 = time.time() if True: # try: output = client.article_recommend(input) # except Exception, e: # ar_ecps.append([uid, e])e t2 = time.time() times_ar[uid] = t2 - t1 print "========ar============" print uid, ts, info try: print json.loads(output)["output"][0]["title"] except: pass # test recommend_topn_topcs input = json.dumps({'user_id': uid}) t1 = time.time() output = json.loads(client.recommend_topn_topic(input))['output'] t2 = time.time() times_topic[uid] = t2 - t1 if output: print "==========recommend topics========" for id in output: title = nat_get_title('topic_' + str(id)) print uid, id, title # test recommend_list input = json.dumps({'user_id': uid, 'timestamp': ts}) t1 = time.time() if True: # try: output = client.recommend_list(input) # except Exception,e: # output = json.dumps({'output':[]}) # rl_ecps.append([uid,e]) t2 = time.time() times_list[uid] = t2 - t1 output = json.loads(output)['output'] if output: print "========recommend_list==========" for item in output: print uid, item['id'], item['type'], item['title'] # test recommend tags input = json.dumps({ 'user_id': uid, }) t1 = time.time() output = client.recommend_tags(input) t2 = time.time() times_tags[uid] = t2 - t1 output = json.loads(output)['output'] words = output['words'] plan = output['plan'] print "=======recommend tags==========" print uid last_query = user_last_query(uid) print "last_query", last_query print "words", '-'.join(words) for item in plan: print item['name'], item['url'] # test recommend_news input = json.dumps({'user_id': uid, 'top_n': 2}) t1 = time.time() output = client.recommend_news(input) t2 = time.time() times_news[uid] = t2 - t1 output = json.loads(output) ids = output['ids'] titles = [nat_get_title('news_' + str(id)) for id in ids] print "=======recommend news==========" print uid for i, id in enumerate(ids): print id, titles[i] print "mean time ar", sum(times_ar.values()) / len(times_ar) s_times = sorted(times_ar.iteritems(), key=lambda x: x[1], reverse=True) for uid, t in s_times[:10]: print uid, t print '---------' print "mean time recommend topic", sum( times_topic.values()) / len(times_topic) s_times = sorted(times_topic.iteritems(), key=lambda x: x[1], reverse=True) for uid, t in s_times[:10]: print uid, t print '---------' print "mean time recommend list", sum( times_list.values()) / len(times_list) s_times = sorted(times_list.iteritems(), key=lambda x: x[1], reverse=True) for uid, t in s_times[:10]: print uid, t print '---------' print "mean time recommend tags", sum( times_tags.values()) / len(times_tags) s_times = sorted(times_tags.iteritems(), key=lambda x: x[1], reverse=True) for uid, t in s_times[:10]: print uid, t print '---------' print "mean time recommend news", sum( times_news.values()) / len(times_news) s_times = sorted(times_news.iteritems(), key=lambda x: x[1], reverse=True) for uid, t in s_times[:10]: print uid, t print '---------' for u, e in ar_ecps: print " ar exceptions", u, e for u, e in rl_ecps: print "rl exceptions", u, e