"""Utilities for building the thrift transport client."""
import contextlib
from thrift.protocol import TBinaryProtocol
from thrift.transport import TSocket, TTransport
@contextlib.contextmanager
def client_transport_maker(host, port, rpc_type):
"""Context manager to build the thrift transport client."""
transport = TSocket.TSocket(host=host, port=port)
tframed_transport = TTransport.TFramedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(tframed_transport)
client = rpc_type.Client(protocol)
try:
transport.open()
yield client
finally:
transport.close()
使用context manager創建thrift client的統一入口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.