Tarantool connection driver for work with asyncio
Project description
Connector required tarantool version 1.6:
$ pip install aiotarantool
Also, you need to install experimental branch tarantool-python for python 3.4:
$ pip install git+https://github.com/shveenkov/tarantool-python.git@for_python3.4
Try it example:
import asyncio
import aiotarantool
cnt = 0
@asyncio.coroutine
def insert_job(tnt):
global cnt
for it in range(2500):
cnt += 1
r = yield from tnt.insert("tester", (cnt, cnt))
loop = asyncio.get_event_loop()
tnt = aiotarantool.connect("127.0.0.1", 3301)
tasks = [asyncio.async(insert_job(tnt))
for _ in range(40)]
loop.run_until_complete(asyncio.wait(tasks))
loop.run_until_complete(tnt.close())
loop.close()
Under this scheme the aiotarantool driver makes a smaller number of read/write tarantool socket.
See benchmark results time for insert/select/delete 100K tuples on 1.5KBytes:
call |
tarantool |
aiotarantool |
---|---|---|
insert |
35.938047 |
12.701088 |
select |
24.389748 |
12.746204 |
delete |
35.224515 |
13.905095 |
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
aiotarantool-1.0.2.tar.gz
(4.9 kB
view details)
File details
Details for the file aiotarantool-1.0.2.tar.gz
.
File metadata
- Download URL: aiotarantool-1.0.2.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 297b8caae49b9314698a64fd4860f4871af7534eee91d93266989d781220ee1d |
|
MD5 | 5a5630e5459281ce842a25ad93e62ee3 |
|
BLAKE2b-256 | 1cf45a7344b1b9b20ba84bfdddd93f593e6dfe8489cafa8240e48a0e7582568d |