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()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file thrift_connector-0.18.tar.gz
.
File metadata
- Download URL: thrift_connector-0.18.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3d8d16cb293942ffd31d52cd3748990760e80984ef7db31e77474f27437208d |
|
MD5 | cdf7cf1fb284c44bb03a5a8af25c6a4f |
|
BLAKE2b-256 | 966b3446df14e7c79d226d4dcc4fb47bb946a4981b68bb2903a8448bed8aa248 |
File details
Details for the file thrift_connector-0.18-py2-none-any.whl
.
File metadata
- Download URL: thrift_connector-0.18-py2-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1d2519d58cd481eca046ab1c9815e64ea52fdb8e57036496f5e002b522a6256 |
|
MD5 | ff316e876a34412caa030089e1d53a93 |
|
BLAKE2b-256 | a17b2b5cf96e2c0e0c831f2c08de7dd355d447134f47941cfd547fa8b9dd3069 |