3

我对应用程序开发相对较新,但这里什么都没有。

我一直在从事一个项目,该项目使用 Tornado 服务器和 SQLAlchemy 的 ORM 进行数据库管理/访问(在后端使用 postgres)。

在项目开始时,我没有考虑过使用 SQLAlchemy 会阻止我利用 Tornado 的异步功能的可能性(因为 SQLAlchemy 的数据库调用显然“阻塞”了线程)。

您对如何使用 Tornado+SQLA+postgres 实现异步兼容设置有什么建议吗?

4

1 回答 1

2

看看 aiopg - https://github.com/aio-libs/aiopg

它是一个用于 postgres 的 Python 3.4 异步适配器,包括 sqlalchemy 支持。我自己还没有尝试过,但是在寻找 postgres 和 tornado 的异步库时发现了它。我正在使用 Momoko,但它只提供原始 psycopg2 层。

请记住,最新版本的 Tornado 支持 asyncio,因此 asyncio 库现在可以与 Tornado 一起使用。

于 2015-03-22T21:21:16.797 回答