Skip to main content
В Palatine Speech API для асинхронных задач (транскрибация и диаризация) используется подход polling API. Это значит, что клиент получает идентификатор задачи (task_id) и периодически опрашивает сервер для получения статуса выполнения и результата.

Как это работает

  1. Запуск задачи Вы отправляете аудиофайл через POST-запрос (/do_transcribe или /do_diarize). Сервер сразу отвечает статусом (например, scheduled) и уникальным task_id.
  2. Опрос статуса Клиент с помощью task_id периодически выполняет GET-запрос на endpoint статуса задачи task_status/{task_id}. Если задача всё ещё выполняется, в ответе будет соответствующий статус. Когда задача завершена — сервер отдаёт результат.
  3. Завершение задачи вручную В некоторых случаях предусмотрен POST-запрос /task_done/{task_id}, чтобы явно отметить задачу как завершённую.

Пример Polling на Python

Особенности

  • Интервал опроса (например, 2-5 секунд) выбирается в зависимости от нагрузки и желаемой скорости реакции.
  • В ответе статус может быть одним из следующих значений:
    • “success”: задача выполнена успешно
    • “pending”: задача ещё в процессе выполнения
    • “error”: при выполнении задачи произошла ошибка
  • После получения результата желательно прекратить polling (чтобы не нагружать сервер).

Используйте Polling для:

  • Асинхронных задач, выполнение которых может занять значительное время (например, длинные аудиофайлы).
  • Обеспечения пользователя актуальной информацией о прогрессе.

Пример Polling аналогично работает и для эндпоинтов диаризации!