我正在使用Cloudant存储json对象。他们有一个API,用于获取数据库中发生的更改的连续供稿。我想要做的是创建一个到该端点的持久连接,并在每次响应对象更新时调用一个函数(回调)。 Cloudant在Node-js中为此提供了内置功能,但是没有任何功能可以在python(使用v 2.7)的后台运行。
我该如何解决?尚未找到任何有用的在线信息。 Cloudant包中的内置函数在我拥有的Flask API应用程序中不起作用(它们只是使用永无止境的循环来检索更改)。
我的想法是使代码看起来像这样:
def callBack(event):
print(event)
session(url="username:password.cloudant.com/test/_changes?feed=continous", callback=callBack, feed="live")
答案 0 :(得分:1)
您需要一个事件循环(节点是内置的,Python没有)。我会看诸如gevent库之类的东西。
这里有一个教程展示了如何将长轮询与gevent结合使用:http://sdiehl.github.io/gevent-tutorial/#long-polling,应该可以扩展以使用流式更改供稿,例如https://github.com/xpqz/pylon/blob/master/pylon.py#L165。