Как получить количество фоновых задач, которые в настоящее время работают в приложении FastAPI?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить количество фоновых задач, которые в настоящее время работают в приложении FastAPI?

Сообщение Anonymous »

ниже Run_tasks Обработчик Fastapi маршрута порождает фоновую задачу при каждом вызове HTTP в задачи/run конечная точка. -Верд ">

Код: Выделить всё

import asyncio
import time

from fastapi import APIRouter
from starlette.background import BackgroundTasks

router = APIRouter()

async def background_task(sleep_time: int, task_id: int):
print(f"Task {task_id} started")
await asyncio.sleep(sleep_time)  # Simulate a long-running task
print(f"Task {task_id} completed")

@router.post("/run-tasks")
async def run_tasks(background_tasks: BackgroundTasks, sleep_time: int):
background_tasks.add_task(background_task, sleep_time, int(time.time()))
print(len(background_tasks.tasks))
return {"message": "NEW SLEEP query arg background task started"}
Когда сигнал sigterm отправляется в процесс, запускающем это приложение Fastapi, в журналах наблюдается следующая последовательность:
< Br /> В ожидании выполнения фоновых задач появляются. Наконец Журнал показывает «ожидание выключения приложения», а затем приложение
выключается. в настоящее время работает? Я хотел бы распечатать количество оставшихся задач после каждого выполнения задачи (то есть после печати (f "task {task_id} завершен")) .
Моя цель - Чтобы увидеть «0» в конце, чтобы быть уверенным, что все фоновые задачи выполнены, перед выключением приложения. < /p>
Я понимаю, что приложение Fastapi, работающее в Python к заканчивать. Тем не менее, я хочу убедиться, что это также происходит, когда приложение работает внутри контейнера в капсуле Kubernetes. Это имеет решающее значение для правильной настройки параметра GrancentGracePeriodSeconds POD (см. Соответствующее завершение документации PODS).

Подробнее здесь: https://stackoverflow.com/questions/788 ... pi-applica
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»