Skip to main content

Tarantool Queue python/asyncio bindings

Project description

Build Status Coverage Status PyPI

asynctnt-queue is a python/asyncio bindings library for tarantool-queue package in Tarantool Database, integrated with asynctnt module.

Documentation

Documentation is available here.

Installation

Use pip to install:

$ pip install asynctnt-queue

Basic Usage

Tarantool config:

box.cfg {
    listen = '127.0.0.1:3301'
}

box.once('v1', function()
    box.schema.user.grant('guest', 'read,write,execute', 'universe')
end)

queue = require('queue')
queue.create_tube('test_tube', 'fifottl')

Python code:

import asyncio
import asynctnt
import asynctnt_queue


async def run():
    conn = asynctnt.Connection(host='127.0.0.1', port=3301)
    await conn.connect()

    queue = asynctnt_queue.Queue(conn)
    test_tube = queue.tube('test_tube')

    # Add a task to queue
    task = await test_tube.put({
        'key': 'value'
    })

    print('Task id: {}'.format(task.task_id))
    print('Task status: {}'.format(task.status))

    # Retrieve a task from queue
    task = await test_tube.take(1)

    # ... do some work with task

    await task.ack()
    await conn.disconnect()

loop = asyncio.get_event_loop()
loop.run_until_complete(run())

References

  1. Tarantool - in-memory database and application server.
  2. asynctnt - fast Tarantool database connector for Python/asyncio
  3. aiotarantool - alternative Python/asyncio connector

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
asynctnt-queue-0.0.5.tar.gz (11.5 kB) Copy SHA256 hash SHA256 Source None Oct 25, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page