补全服务端
补全服务端
为了方便看到效果,我们编写补全服务端代码。
注意:此处实际推荐的代码在后续推荐系统课程中会涉及到
在toutiao-backend/common/rpc目录下新建server.py文件
import reco_pb2 import reco_pb2_grpc import grpc from concurrent.futures import ThreadPoolExecutor import time # rpc接口定义中服务对应成Python的类 class UserRecommendService(reco_pb2_grpc.UserRecommendServicer): # 在接口定义的同名方法中补全,被调用时应该执行的逻辑 def user_recommend(self, request, context): # request是调用的请求数据对象 user_id = request.user_id channel_id = request.channel_id article_num = request.article_num time_stamp = request.time_stamp response = reco_pb2.ArticleResponse() response.exposure = 'exposure param' response.time_stamp = round(time.time()*1000) recommends = [] for i in range(article_num): article = reco_pb2.Article() article.track.click = 'click param {}'.format(i+1) article.track.collect = 'collect param {}'.format(i+1) article.track.share = 'share param {}'.format(i+1) article.track.read = 'read param {}'.format(i+1) article.article_id = i+1 recommends.append(article) response.recommends.extend(recommends) # 最终要返回一个调用结果 return response
def serve(): """ rpc服务端启动方法 """ # 创建一个rpc服务器 server = grpc.server(ThreadPoolExecutor(max_workers=10)) # 向服务器中添加被调用的服务方法 reco_pb2_grpc.add_UserRecommendServicer_to_server(UserRecommendService(), server) # 微服务器绑定ip地址和端口 server.add_insecure_port('127.0.0.1:8888') # 启动rpc服务 server.start() # start()不会阻塞,此处需要加上循环睡眠 防止程序退出 while True: time.sleep(10) if __name__ == '__main__': serve()
壬戌之秋,七月既望,苏子与客泛舟游于赤壁之下。清风徐来,水波不兴。举酒属客,诵明月之诗,歌窈窕之章。少焉,月出于东山之上,徘徊于斗牛之间。白露横江,水光接天。纵一苇之所如,凌万顷之茫然。浩浩乎如冯虚御风,而不知其所止;飘飘乎如遗世独立,羽化而登仙。
于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。渺渺兮予怀,望美人兮天一方。”客有吹洞箫者,倚歌而和之。其声呜呜然,如怨如慕,如泣如诉,余音袅袅,不绝如缕。舞幽壑之潜蛟,泣孤舟之嫠妇。
苏子愀然,正襟危坐而问客曰:“何为其然也?”客曰:“月明星稀,乌鹊南飞,此非曹孟德之诗乎?西望夏口,东望武昌,山川相缪,郁乎苍苍,此非孟德之困于周郎者乎?方其破荆州,下江陵,顺流而东也,舳舻千里,旌旗蔽空,酾酒临江,横槊赋诗,固一世之雄也,而今安在哉?况吾与子渔樵于江渚之上,侣鱼虾而友麋鹿,驾一叶之扁舟,举匏樽以相属。寄蜉蝣于天地,渺沧海之一粟。哀吾生之须臾,羡长江之无穷。挟飞仙以遨游,抱明月而长终。知不可乎骤得,托遗响于悲风。”
苏子曰:“客亦知夫水与月乎?逝者如斯,而未尝往也;盈虚者如彼,而卒莫消长也。盖将自其变者而观之,则天地曾不能以一瞬;自其不变者而观之,则物与我皆无尽也,而又何羡乎!且夫天地之间,物各有主,苟非吾之所有,虽一毫而莫取。惟江上之清风,与山间之明月,耳得之而为声,目遇之而成色,取之无禁,用之不竭,是造物者之无尽藏也,而吾与子之所共适。”
客喜而笑,洗盏更酌。肴核既尽,杯盘狼籍。相与枕藉乎舟中,不知东方之既白。