Python、异步、单例事件循环
我有很多异步代码,我有一个问题 我可以在整个项目中使用单例事件循环,还是应该在每个函数、方法和类中使用Python、异步、单例事件循环,python,asynchronous,event-loop,Python,Asynchronous,Event Loop,我有很多异步代码,我有一个问题 我可以在整个项目中使用单例事件循环,还是应该在每个函数、方法和类中使用get\u event\u loop()?在项目中的任何地方一次性声明并使用它是否存在一些问题 例如,我有3个文件app.py、views.py和internal.py from app import loop async def any_buisiness_logic(): loop.create_task(<any coroutine>) return "tas
get\u event\u loop()
?在项目中的任何地方一次性声明并使用它是否存在一些问题
例如,我有3个文件app.py、views.py和internal.py
from app import loop
async def any_buisiness_logic():
loop.create_task(<any coroutine>)
return "task created"
app.py
app = FastAPI()
loop = get_event_loop()
views.py
from app import app, loop
@app.get('/')
async def main(request):
loop.create_task(<any coroutine>)
return {'status': 'ok'}
从应用程序导入应用程序,循环
@app.get(“/”)
异步def主(请求):
循环。创建_任务()
返回{'status':'ok'}
内部.py
from app import loop
async def any_buisiness_logic():
loop.create_task(<any coroutine>)
return "task created"
来自应用程序导入循环
异步定义任意业务逻辑():
循环。创建_任务()
返回“已创建任务”
或者我应该
在每个文件中获取\u event\u loop()
。您可以使用asyncio。改为创建\u task
。循环不需要在较新版本的Python中传递
任务在get_running_loop()返回的循环中执行,
如果当前线程中没有运行循环,则引发RuntimeError
你能提供一些用例吗?最简单的工作示例我添加了用例,请查看