首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PostgreSQL理解和使用Python中的异步?

如何使用PostgreSQL理解和使用Python中的异步?
EN

Stack Overflow用户
提问于 2018-02-07 20:58:27
回答 1查看 372关注 0票数 0

我试图学习如何在Python中使用异步框架。我有下面的代码,但是它给出了错误:

事件循环在将来完成之前停止。

还请更新在哪里捕获代码的输出。

代码:

代码语言:javascript
复制
import asyncio
import aiopg

dsn = 'dbname=dvdrental user=postgres password=password host=127.0.0.1'


async def go():
    pool = await aiopg.create_pool(dsn)
    async with pool.acquire() as conn:
        async with conn.cursor() as cur:
            await cur.execute("Select * from actor")
            ret = []
            async for row in cur:
                ret.append(row)
            assert ret == [(1,)]

loop = asyncio.get_event_loop()
loop.run_until_complete(go())
EN

回答 1

Stack Overflow用户

发布于 2018-02-08 08:57:47

在退出go()协同线和循环停止之前,池不会关闭。

使用async with aiopg.create_pool()而不是await aiopg.create_pool(),或者在coroutine末尾显式调用pool.close()/await pool.await_closed()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48673117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档