python-3.x - 将 elasticsearch_async 与龙卷风一起使用
问题描述
我正在尝试将 elasticsearch_async ( repo ) 与 tornado 6.0.3 一起使用。
根据我对代码的理解,如果我使用AsyncElasticSearch
并传递当前的 tornado ioloop
,它将起作用。有人可以确认或指出一个例子吗?
我的第二个问题是 - 我在内部看到AsyncElasticSearch
使用AIOHttpConnection
(代码)作为默认值connection_class
。我是否需要创建一个新的connection_class
适配器来传递给connection_class
使用龙卷风的适配器,AsyncHttpClient
或者龙卷风是否可以无缝工作AIOHttpConnection
?
解决方案
根据我对代码的理解,如果我使用 AsyncElasticSearch 并传递当前的龙卷风 ioloop,它将起作用。有人可以确认或指出一个例子吗?
AsyncElasticSearch 想要一个asyncio
事件循环,而不是 Tornado IOLoop。但在 Tornado 6 中,Tornado IOLoop 只是 asyncio 事件循环的一个包装器,所以如果你忽略所有这些并使用默认值,一切都应该正常工作。
我是否需要创建一个新的 connection_class 适配器以传递给使用 tornado 的 AsyncHttpClient 的 connection_class,或者 tornado 是否可以与 AIOHttpConnection 无缝工作?
不。只要让 AsyncElasticSearch 使用 aiohttp,即使您的应用程序的其他部分正在使用 AsyncHTTPClient。它应该一起工作(尽管我实际上没有尝试过这种组合)。
推荐阅读
- python - python beautifulsoup 并写入 CSV(多个 URL)
- javascript - 如何在 swagger-api/swagger-js 中期望和接收 404 作为正常响应,而不是错误
- java - Atan 返回 0,但不是 180
- java - 在 JavaFX 中添加图像时如何保持背景颜色?
- python - 在 python 中设置 flask.response
- google-sheets - 具有一个结果的 QUERY 函数返回公式单元格下方的值
- angular - 如何在angular5中使用ng-switch实现单选按钮?
- html - 是否可以使用引导程序 4 在右侧添加偏移量?
- javascript - 通过网络在应用程序之间进行通信
- c# - 从数组 C# 控制台输出随机字符串