Skip to main content

Lib to connect to thrift services with pools

Project description

Simple connection pool for thrift. thrift_connector can be used both for native thrift client and thriftpy client with minor difference in usage.

Examples can be found in examples as well as the following sections.

Options

service

Defined thrift service. It should be the container class of apis for thriftpy (thriftpy.load(’…’).XXXService), and api module for thrift (XXX_sdk.xxx.xxxService)

host

Server host

port

Server port

[timeout]

Socket timeout, in seconds.

[name]

Connection pool name, for identity.

[raise_empty]

Whether to raise exception if pool is empty while trying to obtain a connection.

[max_conn]

Number of connections to manage in pool.

[connction_class]

Connection class implementation. Builtin classes are: ThriftClient for native thrift, ThriftPyClient and ThriftPyCyClient for thriftpy, the latter one utilizes Cython for better performance.

[keepalive]

Seconds each connection is able to stay alive. If oen connection has lived longer than this period, it will be closed.

Usage

Examples for thriftpy is:

import thriftpy
from thrift_connector import ClientPool, ThriftPyCyClient

service = thriftpy.load("pingpong_app/pingpong.thrift")
pool = ClientPool(
    service.PingService,
    'localhost',
    8880,
    connction_class=ThriftPyCyClient
    )

print "Sending Ping..."
print "Receive:", pool.ping()
print "Winning the match..."
print "Receive:", pool.win()

Examples for thrift is:

# -*- coding: utf-8 -*-

from pingpong_app.pingpong_sdk.pingpong import PingService
from thrift_connector import ClientPool, ThriftClient

pool = ClientPool(
    PingService,
    'localhost',
    8880,
    connction_class=ThriftClient
    )

print "Sending Ping..."
print "Receive:", pool.ping()
print "Winning the match..."
print "Receive:", pool.win()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thrift_connector-0.14.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

thrift_connector-0.14-py2-none-any.whl (6.2 kB view details)

Uploaded Python 2

File details

Details for the file thrift_connector-0.14.tar.gz.

File metadata

File hashes

Hashes for thrift_connector-0.14.tar.gz
Algorithm Hash digest
SHA256 bea6714d9718e8df25f21116a524e303d1818921690242c84b08c3073d620a45
MD5 6cc56a33e9309b5ae295efc826f8d4aa
BLAKE2b-256 ca099d111da5208e691517a924edc61207bd09cbcb5fcb9b96dfc9059f42ba98

See more details on using hashes here.

File details

Details for the file thrift_connector-0.14-py2-none-any.whl.

File metadata

File hashes

Hashes for thrift_connector-0.14-py2-none-any.whl
Algorithm Hash digest
SHA256 322fd38b4ceb3ef1c37b8f6c2a4d7bbb11a2ff2409ab4f09f6587108d0b717bb
MD5 ca6d1d19b017a8d506f1f7b8fcf8d334
BLAKE2b-256 d6d36b8f23a6a743d4ac7e743d9e67e63d3adbd227e91de6cdfd5e322ae52d97

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page