『高级篇』docker之Python开发信息服务(11)
2019-01-27 01:45:17
李明
  • 访问次数: 382
  • 注册日期: 2018-07-09
  • 最后登录: 2022-11-17

原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
原文链接地址: 『高级篇』docker之Python开发信息服务(11)

信息服务准备用python来写,在现有的idea中添加python的模块。源码: https://github.com/limingios/msA-docker

idea安装python插件

安装后重新idea。

1240

1240

1240

安装python模块

1240

1240

安装thrift的pyhon插件

1240

1240

开始我用idea写python,下载个插件都费劲,我换成了pycharm来写美滋滋

  • 编辑Python的服务代码

# coding: utf-8from message.api import MessageServicefrom thrift.transport import TSocketfrom thrift.transport import TTransportfrom thrift.protocol import TBinaryProtocolfrom thrift.server import TServerclass 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 Trueif __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")

1240

  • 查看端口已经启动

1240

  • 生成对应java 和python的命令

都是根据thrift文件,生成对应的上级目录

thrift --gen py -out ../ message.thrift
thrift --gen java -out ../ message.thrift

PS:thrift的开发流程是: 先定义thrift的文件,然后通过命令生成对应的python代码。通过实现定义的thrift方法,来完成thrift的调用。

1240