task_id) и периодически опрашивает сервер для получения
статуса выполнения и результата.
Как это работает
-
Запуск задачи
Вы отправляете аудиофайл через POST-запрос (
/do_transcribeили/do_diarize). Сервер сразу отвечает статусом (например,scheduled) и уникальнымtask_id. -
Опрос статуса
Клиент с помощью
task_idпериодически выполняет GET-запрос на endpoint статуса задачиtask_status/{task_id}. Если задача всё ещё выполняется, в ответе будет соответствующий статус. Когда задача завершена — сервер отдаёт результат. -
Завершение задачи вручную
В некоторых случаях предусмотрен POST-запрос
/task_done/{task_id}, чтобы явно отметить задачу как завершённую.
Пример Polling на Python
Особенности
- Интервал опроса (например, 2-5 секунд) выбирается в зависимости от нагрузки и желаемой скорости реакции.
- В ответе статус может быть одним из следующих значений:
- “success”: задача выполнена успешно
- “pending”: задача ещё в процессе выполнения
- “error”: при выполнении задачи произошла ошибка
- После получения результата желательно прекратить polling (чтобы не нагружать сервер).
Используйте Polling для:
- Асинхронных задач, выполнение которых может занять значительное время (например, длинные аудиофайлы).
- Обеспечения пользователя актуальной информацией о прогрессе.
Пример Polling аналогично работает и для эндпоинтов диаризации!