Как это работает
API работает асинхронно:
- Отправьте
createTaskи сохранитеtaskId. - Подождите 5 секунд, затем вызовите
getTaskResult. - Если
statusравенprocessing, повторяйте опрос раз в 5 секунд. - При
status: "ready"используйте объектsolution. ЕслиerrorIdне равен нулю, обработайте ошибку.
Нерешённая задача истекает через 5 минут, зарезервированные средства возвращаются. Полученный результат нужно передать на целевой сайт — инструкция.
Ожидание в Python SDK#
solve(task) создаёт новую задачу и ожидает решение. create_task(task) возвращает только ID; get_task_result(task_id) выполняет один запрос статуса.
Указывайте polling_interval=5 явно: в опубликованной версии SDK 1.0.0 значение по умолчанию равно 3 секундам. Для точного контроля первого опроса используйте пример ручного ожидания в Code examples.
По умолчанию SDK ожидает решение 120 секунд после создания задачи. Параметр timeout в solve() меняет это окно. HTTP-запросы имеют отдельный таймаут 30 секунд, поэтому уже начавшийся запрос может завершиться после окончания окна ожидания.
Локальный таймаут не отменяет задачу на сервере. Повторный solve() создаёт новую задачу. Чтобы продолжить ожидание прежней задачи, сохраните ID через create_task() и используйте get_task_result() до истечения срока задачи.