采用廖老师的测试代码时总是出现RuntimeError: Event loop is closed这样的错误,看了很多评论发现是因为orm.py中只是打开了连接池却没有关闭的原因。所以,在create_pool后应该有相应的close_pool代码
这是我的测试代码,没有报错: test.py
import asyncio import ormfrom models import User, Blog, Comment async def test(loop): await orm.create_pool(loop=loop, user='www-data', password='www-data',db='awesome') u = User(name='Test', email='test@example.com', passwd='1234567890', image='about:blank') await u.save() await orm.close_pool() loop = asyncio.get_event_loop() loop.run_until_complete(test(loop)) loop.close()
orm.py中添加了:
async def close_pool(): '''异步关闭连接池''' logging.info('close database connection pool...') global __pool __pool.close() await __pool.wait_closed()
Sign in to make a reply
小样还逃
采用廖老师的测试代码时总是出现RuntimeError: Event loop is closed这样的错误,看了很多评论发现是因为orm.py中只是打开了连接池却没有关闭的原因。所以,在create_pool后应该有相应的close_pool代码
这是我的测试代码,没有报错: test.py
orm.py中添加了: