能不能改写app.py中的init(loop)
Topic sourceasync def init(): host = configs.db.host port = configs.db.port user = configs.db.user pw = configs.db.password db = configs.db.db await orm.create_pool(host=host, port=port, user=user, password=pw, db=db) app = web.Application(middlewares=[logger_factory, response_factory]) init_jinja2(app, filters=dict(datetime=datetime_filter)) add_routes(app, "handlers") add_static(app) return appif __name__ == "__main__": logging.info("Server started at 127.0.0.1:9000") web.run_app(init(), host="127.0.0.1", port=9000)
async def init():
host = configs.db.host
port = configs.db.port
user = configs.db.user
pw = configs.db.password
db = configs.db.db
await orm.create_pool(host=host, port=port, user=user, password=pw, db=db)
app = web.Application(middlewares=[logger_factory, response_factory])
init_jinja2(app, filters=dict(datetime=datetime_filter))
add_routes(app, "handlers")
add_static(app)
return app
if __name__ == "__main__":
logging.info("Server started at 127.0.0.1:9000")
web.run_app(init(), host="127.0.0.1", port=9000)
- 1
装僵尸的大海
原因:现在aiohttp.Application参数loop被Deprecated,直接使用web.run_app(app),内部get_event_loop()创建了一个loop。
想法:如何改写app.py中的init(),这样可以改为使用web run_app()?
不知道有谁这样做过吗