后台任务
FastAPI中我们可以使用BackgroundTasks创建后台任务,后台任务在单独的线程中运行,使用后台任务我们可以避免阻塞HTTP请求的处理线程,对于那些执行较慢的代码逻辑,我们应该将其定义为后台任务。
下面例子中我们创建了一个后台任务。
from time import sleep
from fastapi import FastAPI, BackgroundTasks
app = FastAPI()
def demo_background_task():
for i in range(3):
print('Background task running...')
sleep(1)
@app.get('/foo')
async def foo(tasks: BackgroundTasks):
tasks.add_task(demo_background_task)
return {'message': 'success'}
代码中,我们注入了一个BackgroundTasks对象并调用它的add_task()方法来注册后台任务。
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。