原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker之Python开发信息服务(11)
信息服务准备用python来写,在现有的idea中添加python的模块。源码:https://github.com/limingios/msA-docker
idea安装python插件
安装后重新idea。



安装python模块


安装thrift的pyhon插件


开始我用idea写python,下载个插件都费劲,我换成了pycharm来写美滋滋
- 编辑Python的服务代码
# coding: utf-8
from message.api import MessageService
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from thrift.server import TServer
class MessageServiceHandler:
def sendMobileMessage(self, mobile, message):
print ("sendMobileMessage, mobile:"+mobile+", message:"+message)
return True
def sendEmailMessage(self, email, message):
print ("sendEmailMessage, email:"+email+", message:"+message)
return True
if __name__ == '__main__':
handler = MessageServiceHandler()
processor = MessageService.Processor(handler)
transport = TSocket.TServerSocket(None, "9090")
tfactory = TTransport.TFramedTransportFactory()
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)
print ("python thrift server start")
server.serve()
print ("python thrift server exit")

- 查看端口已经启动

- 生成对应java 和python的命令
都是根据thrift文件,生成对应的上级目录
thrift --gen py -out ../ message.thrift
thrift --gen java -out ../ message.thrift
PS:thrift的开发流程是: 先定义thrift的文件,然后通过命令生成对应的python代码。通过实现定义的thrift方法,来完成thrift的调用。
网友评论