跳转到主要内容

适用于asyncio的简单线程化Cassandra包装器

项目描述

info:

适用于asyncio的简单线程化Cassandra包装器

https://travis-ci.org/aio-libs/aiocassandra.svg?branch=master https://img.shields.io/pypi/v/aiocassandra.svg https://codecov.io/gh/aio-libs/aiocassandra/branch/master/graph/badge.svg

安装

pip install aiocassandra

使用

import asyncio

from aiocassandra import aiosession
from cassandra.cluster import Cluster
from cassandra.query import SimpleStatement

# connection is blocking call
cluster = Cluster()
# aiocassandra uses executor_threads to talk to cassndra driver
# https://datastax.github.io/python-driver/api/cassandra/cluster.html?highlight=executor_threads
session = cluster.connect()


async def main():
    # patches and adds `execute_future`, `execute_futures` and `prepare_future`
    # to `cassandra.cluster.Session`
    aiosession(session)

    # best way is to use cassandra prepared statements
    # https://cassandra-zone.com/prepared-statements/
    # https://datastax.github.io/python-driver/api/cassandra/cluster.html#cassandra.cluster.Session.prepare
    # try to create them once on application init
    query = session.prepare('SELECT now() FROM system.local;')

    # if non-blocking prepared statements is really needed:
    query = await session.prepare_future('SELECT now() FROM system.local;')

    print(await session.execute_future(query))

    # pagination is also supported
    query = 'SELECT * FROM system.size_estimates;'
    statement = SimpleStatement(query, fetch_size=100)

    # don't miss *s* (execute_futureS)
    async with session.execute_futures(statement) as paginator:
        async for row in paginator:
            print(row)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())
cluster.shutdown()
loop.close()

需要Python 3.5+

感谢

此库由Ocean S.A.捐赠

感谢公司的贡献。

项目详情


下载文件

下载适用于您平台上的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源代码分发

aiocassandra-2.0.1.tar.gz (5.0 kB 查看哈希值)

上传时间 源代码

构建分发

aiocassandra-2.0.1-py2.py3-none-any.whl (6.6 kB 查看哈希值)

上传时间 Python 2 Python 3

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页