FastApi

Форк
0
22 строки · 871.0 Байт
1
from fastapi import APIRouter, BackgroundTasks, Depends
2

3
from auth.base_config import current_user
4

5
from .tasks import send_email_report_dashboard
6

7
router = APIRouter(prefix="/report")
8

9

10
@router.get("/dashboard")
11
def get_dashboard_report(background_tasks: BackgroundTasks, user=Depends(current_user)):
12
    # 1400 ms - Клиент ждет
13
    send_email_report_dashboard(user.username)
14
    # 500 ms - Задача выполняется на фоне FastAPI в event loop'е или в другом треде
15
    background_tasks.add_task(send_email_report_dashboard, user.username)
16
    # 600 ms - Задача выполняется воркером Celery в отдельном процессе
17
    send_email_report_dashboard.delay(user.username)
18
    return {
19
        "status": 200,
20
        "data": "Письмо отправлено",
21
        "details": None
22
    }
23

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.