Разработка асинхронного механизма для работы с API генерации презентаций

Цель проекта

Переработать синхронный запрос к внешнему сервису в асинхронное решение, чтобы избежать длительного ожидания пользователя во время генерации контента.

Основные этапы работы

1. Интеграция с асинхронным API

  • Изучить документацию внешнего API на предмет поддержки асинхронной генерации.
  • Модифицировать логику запроса: вместо ожидания готового результата получать идентификатор задачи (task_id) или URL для проверки статуса.
  • Пример ожидаемого ответа API: { "task_id": "12345" } или { "status_url": "https://api.example.com/status/12345" }.

2. Реализация системы отслеживания статуса

  • Разработать механизм периодического опроса (polling) статуса задачи по полученному ID или URL.
  • Определить оптимальный интервал проверок.

3. Создание серверного endpoint

  • Реализовать на стороне сервера endpoint (например, /api/task/status), который принимает ID задачи.
  • Endpoint должен возвращать текущий статус: "pending", "processing", "completed", "failed".

4. Обработка финального результата

  • При получении статуса "completed" endpoint должен возвращать конечный результат - ссылку на готовую презентацию.
  • Реализовать обработку ошибок для статуса "failed".

5. Система уведомлений пользователя

  • Разработать способ информирования пользователя о готовности презентации.
  • Варианты реализации: отправка email-уведомления, push-сообщения или обновление интерфейса пользователя (UI) для отображения активной ссылки.

Требования к реализации

  • Решение должно быть отказоустойчивым и корректно обрабатывать задержки со стороны внешнего API.
  • Код должен быть хорошо структурирован и документирован.
  • Необходимо предусмотреть логирование ключевых этапов процесса.

Разработка телеграм-бота на Python для кофейни

Требуется создать функционального Telegram-бота для автоматизации заказов в кофейне. Бот должен быть написан на чистом Python и включать административную панель для управления меню и заказами. Подробное техническое задание будет предоставлено выбранному исполнителю.