Tornado 文档中的所有示例都展示了我们如何使用 Tornado 异步发出进一步的 HTTP 请求。
http_client = httpclient.AsyncHTTPClient()
http_client.fetch("http://www.google.com/", handle_request)
虽然我想确保我的龙卷风不会等待来自数据库的响应(获取 couchbase 的命令)来发送下一个。
检查我的另一个错误以了解为什么我想要对 couchbase 进行异步调用。
Tornado 文档中的所有示例都展示了我们如何使用 Tornado 异步发出进一步的 HTTP 请求。
http_client = httpclient.AsyncHTTPClient()
http_client.fetch("http://www.google.com/", handle_request)
虽然我想确保我的龙卷风不会等待来自数据库的响应(获取 couchbase 的命令)来发送下一个。
检查我的另一个错误以了解为什么我想要对 couchbase 进行异步调用。
请参阅github 上的 Tornado wiki和StackOverflow 上的类似问题。只需让您的数据库调用同步。如果您的数据库或对数据库/数据库驱动程序的调用是您的瓶颈,即使龙卷风没有被阻止,您的网站也不会更快。当请求不受您控制的资源时,执行异步调用可能更有意义,因为其他网络服务器或资源对您网站的大多数部分(如文件 I/O)并不重要。
旧线程,但我可能应该提到coouchbase 支持 twisted。请参阅Twisted API for Couchbase not working with Python Tornado和http://pythonhosted.org/couchbase/api/txcouchbase.html