Skip to main content

Tarantool Queue python bindings for asyncio

Project description

Bindings require tarantool version 1.6 and aiotarantool connector:

$ pip install aiotarantool_queue

Try it example:

import aiotarantool_queue
import random

@asyncio.coroutine
def put_job(queue):
    for tube_name in ("tube1", "tube2", "tube3"):
        tube = queue.tube(tube_name)
        task = yield from tube.put({"task_data": random.random()})

@asyncio.coroutine
def take_job(tube):
    while True:
        task = yield from tube.take(5)
        if not task:
            break

        print(task.data)
        yield from task.ack()

loop = asyncio.get_event_loop()

queue = aiotarantool_queue.queue("127.0.0.1", 3301)
put_tasks = [asyncio.async(put_job(queue))
             for _ in range(20)]

take_tasks = [asyncio.async(take_job(queue.tube(tube_name)))
              for tube_name in ("tube1", "tube2", "tube3")]

loop.run_until_complete(asyncio.wait(put_tasks + take_tasks))
loop.run_until_complete(queue.close())
loop.close()

This code makes it easy to develop your application to work with queue

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

aiotarantool_queue-0.0.2.tar.gz (3.9 kB view details)

Uploaded Source

File details

Details for the file aiotarantool_queue-0.0.2.tar.gz.

File metadata

File hashes

Hashes for aiotarantool_queue-0.0.2.tar.gz
Algorithm Hash digest
SHA256 32c67c64acfd23cdb3adac041de3219f9fbf85f6460bc55bb63bdb08d95f33d4
MD5 0312a27e8d2bb4dbf499479c63724fb3
BLAKE2b-256 1783cac215755965bd885b6534da9e481be7d5f9b75857df297adb103ffdd5fc

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