{"id":27293990,"url":"https://github.com/igorcoding/asynctnt-queue","last_synced_at":"2025-08-20T12:44:36.605Z","repository":{"id":57412306,"uuid":"100378011","full_name":"igorcoding/asynctnt-queue","owner":"igorcoding","description":"Tarantool Queue bindings for python/asyncio","archived":false,"fork":false,"pushed_at":"2017-10-25T12:47:57.000Z","size":1568,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-15T03:51:15.725Z","etag":null,"topics":["asyncio","python","python3","queue","tarantool"],"latest_commit_sha":null,"homepage":"https://igorcoding.github.io/asynctnt-queue","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igorcoding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-15T13:04:13.000Z","updated_at":"2024-05-30T17:56:43.000Z","dependencies_parsed_at":"2022-08-27T23:51:41.044Z","dependency_job_id":null,"html_url":"https://github.com/igorcoding/asynctnt-queue","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igorcoding%2Fasynctnt-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igorcoding%2Fasynctnt-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igorcoding%2Fasynctnt-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igorcoding%2Fasynctnt-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igorcoding","download_url":"https://codeload.github.com/igorcoding/asynctnt-queue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492963,"owners_count":21113160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asyncio","python","python3","queue","tarantool"],"created_at":"2025-04-11T22:45:30.823Z","updated_at":"2025-04-11T22:45:32.537Z","avatar_url":"https://github.com/igorcoding.png","language":"Python","readme":"# asynctnt-queue\n\n[![Build Status](https://travis-ci.org/igorcoding/asynctnt-queue.svg?branch=master)](https://travis-ci.org/igorcoding/asynctnt-queue)\n[![Coverage Status](https://coveralls.io/repos/github/igorcoding/asynctnt-queue/badge.svg?branch=master)](https://coveralls.io/github/igorcoding/asynctnt-queue?branch=master)\n[![PyPI](https://img.shields.io/pypi/v/asynctnt-queue.svg)](https://pypi.python.org/pypi/asynctnt-queue)\n\n\nasynctnt-queue is a python/asyncio bindings library for\n[tarantool-queue](https://github.com/tarantool/queue) package in\n[Tarantool Database](https://tarantool.org/), integrated with [asynctnt](https://github.com/igorcoding/asynctnt) module.\n\n\n## Documentation\n\nDocumentation is available [here](https://igorcoding.github.io/asynctnt-queue).\n\n\n## Installation\nUse pip to install:\n```bash\n$ pip install asynctnt-queue\n```\n\n## Basic Usage\n\nTarantool config:\n\n```lua\nbox.cfg {\n    listen = '127.0.0.1:3301'\n}\n\nbox.once('v1', function()\n    box.schema.user.grant('guest', 'read,write,execute', 'universe')\nend)\n\nqueue = require('queue')\nqueue.create_tube('test_tube', 'fifottl')\n```\n\nPython code:\n```python\nimport asyncio\nimport asynctnt\nimport asynctnt_queue\n\n\nasync def run():\n    conn = asynctnt.Connection(host='127.0.0.1', port=3301)\n    await conn.connect()\n    \n    queue = asynctnt_queue.Queue(conn)\n    test_tube = queue.tube('test_tube')\n    \n    # Add a task to queue\n    task = await test_tube.put({\n        'key': 'value'\n    })\n    \n    print('Task id: {}'.format(task.task_id))\n    print('Task status: {}'.format(task.status))\n    \n    # Retrieve a task from queue\n    task = await test_tube.take(1)\n    \n    # ... do some work with task\n    \n    await task.ack()\n    await conn.disconnect()\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(run())\n```\n\n\n## References\n\n1. [Tarantool](https://tarantool.org) - in-memory database and application server.\n2. [asynctnt](https://github.com/igorcoding/asynctnt) - fast Tarantool database connector for Python/asyncio\n3. [aiotarantool](https://github.com/shveenkov/aiotarantool) - alternative Python/asyncio connector \n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figorcoding%2Fasynctnt-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figorcoding%2Fasynctnt-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figorcoding%2Fasynctnt-queue/lists"}