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
import thrift_connector.connection_pool as connection_pool

service = thriftpy.load("pingpong_app/pingpong.thrift")
pool = connection_pool.ClientPool(
    service.PingService,
    'localhost',
    8880,
    connction_class=connection_pool.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
import connection_pool

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

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

Test

py.test tests

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.20.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

thrift_connector-0.20-py2-none-any.whl (6.9 kB view details)

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for thrift_connector-0.20.tar.gz
Algorithm Hash digest
SHA256 28dbecd8d7249b1250a7dbf396a66a4c1097025658bab99fe230a0d156d3dfed
MD5 4bd866fbb126f612b60a14ea756775df
BLAKE2b-256 931293c50981ea218cfddf59e679f2d42b9f4079bfa438a3df9ab79756d25a22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thrift_connector-0.20-py2-none-any.whl
Algorithm Hash digest
SHA256 58fcc2e6c7f5aaf104956ccc69bad2b63c91c4c309d535720f636ca1406ba117
MD5 0e40528e7ceac3a8b68cfd1c45fdb66d
BLAKE2b-256 cafbf7e3c6ced2dd29bb6de3edfcc13bfb1ef23972c581df40f1ebf6bc03ab4b

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