后台任务

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进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap