tarantool队列python/asyncio绑定
asynctnt-queue的Python项目详细描述
asynctnt queue是一个python/asyncio绑定库,用于 tarantool-queue装入 Tarantool Database,集成 asynctnt模块。
文档
文件可用 here。
安装
使用PIP安装:
$ pip install asynctnt-queue
基本用法
塔兰托配置:
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代码:
importasyncioimportasynctntimportasynctnt_queueasyncdefrun():conn=asynctnt.Connection(host='127.0.0.1',port=3301)awaitconn.connect()queue=asynctnt_queue.Queue(conn)test_tube=queue.tube('test_tube')# Add a task to queuetask=awaittest_tube.put({'key':'value'})print('Task id: {}'.format(task.task_id))print('Task status: {}'.format(task.status))# Retrieve a task from queuetask=awaittest_tube.take(1)# ... do some work with taskawaittask.ack()awaitconn.disconnect()loop=asyncio.get_event_loop()loop.run_until_complete(run())
参考文献
- Tarantool-内存数据库和 应用服务器。
- asynctnt-快速 用于python/asyncio的tarantool数据库连接器
- aiotarantool- 可选的python/asyncio连接器