Встречается на собеседованиях • сегодня

Делал ли синхронные таски в FastAPI

FastAPI поддерживает синхронные таски (задачи), но важно понимать разницу между синхронными и асинхронными функциями.

  • Синхронные функции выполняются последовательно и блокируют поток.
  • Асинхронные (async def) позволяют работать с I/O-операциями без блокировки.

FastAPI автоматически запускает синхронные функции (def) в отдельном потоке через ThreadPoolExecutor, чтобы не блокировать event loop.

Пример синхронной задачи:

python
from fastapi import FastAPI

app = FastAPI()

def sync_task():
    # Долгая синхронная операция (например, работа с файлами)
    return "Task done"

@app.get("/task")
def run_task():
    result = sync_task()
    return {"result": result}

Нюансы:

  • Для CPU-bound задач лучше использовать BackgroundTasks или Celery.
  • Если задача долгая, асинхронный вариант (async def) с await предпочтительнее.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы