django 使用thrift
近期在做Django 微服务架构开发 就使用了 django-thrift 在使用的过程中运行thrift服务时总是报错,查看源码发现 django-thrift是便利所有app的views文件并映射为thrift服务,但是我们的django工厂中总会包含以下第三方app或服务,则不能确保都会有views文件,所以运行 python manager.py runrpcserver时会报错 无法加载模块 查看源码发现问题出现在create_processor()方法
def create_processor():
"""Creates a Gunicorn Thrift compatible TProcessor"""
service = getattr(THRIFT_MODULE, settings.THRIFT["SERVICE"])
for app in [x for x in settings.INSTALLED_APPS if not x.startswith("django")]:
importlib.import_module("%s.views" % app)
return TProcessor(service, create_handler())
果断修改
def create_processor():
"""Creates a Gunicorn Thrift compatible TProcessor"""
service = getattr(THRIFT_MODULE, settings.THRIFT["SERVICE"])
for app in [x for x in settings.RPC_APPS if not x.startswith("django")]:
importlib.import_module("%s.views.rpcviews" % app)
return TProcessor(service, create_handler())
继续运行 OK
这样只有使用thrift的APP 才启动thrift服务,切远程过程要写到APP views目录中的rpcviews文件中
文档信息
版权声明:可自由转载(请注明转载出处)-非商用-非衍生
发表时间:2019年5月24日 17:33