Skip to content

poligrafo/fastapi-task-limiter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastAPI Task Limiter

FastAPI Task Limiter – это сервис, который управляет выполнением задач с использованием блокировки. Это гарантирует, что только один запрос будет выполняться одновременно, а другие запросы будут ждать завершения текущего.

Как запустить проект

1. Клонирование репозитория

Клонируйте репозиторий и перейдите в директорию проекта:

git clone [email protected]:poligrafo/fastapi-task-limiter.git
cd fastapi-task-limiter

2. Запуск проекта с Docker

Для запуска проекта используйте Docker и Docker Compose:

docker-compose up --build

3. Проверка работы проекта

Чтобы убедиться, что сервис работает правильно, выполните три параллельных запроса к маршруту /test:

curl -X GET http://localhost:8000/test & curl -X GET http://localhost:8000/test & curl -X GET http://localhost:8000/test

Ожидаемый результат

  • Первый запрос завершится примерно через 3 секунды.
  • Второй запрос завершится через ~6 секунд.
  • Третий запрос завершится через ~9 секунд.

Пример ответа каждого запроса:

{
  "elapsed": 3.0009
}

Это означает, что запросы выполняются последовательно, как и предусмотрено.

4. Просмотр логов

Логи выполнения запросов можно просмотреть в консоли или в файле /app/logs/app.log внутри контейнера.

Пример лога:

2024-09-11 21:52:02,502 - app - INFO - Work completed. Elapsed time: 3.0004 seconds

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published