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


你能提供一些用例吗?最简单的工作示例我添加了用例,请查看