Мне хотелось бы запускать async_task так, как если бы он не был асинхронным, чтобы под капотом не запускался тот же процесс, что и fastapi, блокирующий цикл событий, а запускался concurrenlty в другом потоке с помощью run_in_threadpool() . Как мне это сделать?
from fastapi import FastAPI
app = FastAPI()
async def async_task():
import asyncio
import time
await asyncio.sleep(1) # simulate sequential non-blocking code
time.sleep(2) # simulate sequential blocking code
await asyncio.sleep(3) # simulate sequential non-blocking code
time.sleep(4) # simulate sequential blocking code
@app.get("/")
async def run_task(tasks: BackgroundTasks):
tasks.add_task(async_task)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ood-with-r
Мобильная версия