【发布时间】:2015-04-28 03:53:06
【问题描述】:
我正在开发一个使用 Flask 构建的 REST Web 服务,该服务需要查询 Cassandra 数据库。逻辑中最昂贵的部分是创建与 Cassandra 集群的连接。
我需要对 Flask 做什么,这样我就不必在每次请求时都创建与集群的连接?
【问题讨论】:
-
试试这个:datastax.github.io/python-driver/api/cassandra/pool.html Flask 在等式中没有太大变化 :)
-
谢谢。是否有说明如何正确使用此功能的教程或示例?我一直在四处寻找,除了您链接到的页面之外找不到任何其他内容。
-
如果您共享
session = cluster.connect()对象,您应该会很好。它会自动为您池化。 -
@Wolph 我试过这个,它可以工作很短的时间,但是 Cassandra 驱动程序将失去它与集群的连接并在每次请求时抛出一个错误。集群仍在运行,如果我重新启动 uWSGI,Web 服务将再次开始正常运行。
-
我不能说我曾经为 Cassandra 手动编写过客户端,但是查看
cqlengine源,他们似乎有一种重新连接方法来解决这个问题:github.com/cqlengine/cqlengine/blob/master/cqlengine/… 不是最漂亮的解决方案但它确实有效