canceltask Отмена запущенной задачи
Останавливает асинхронную задачу по её report_id — например, если её поставили с ошибкой в параметрах или она подвисла. Отменить можно только задачу своего аккаунта, которая ещё стоит в очереди или выполняется. Лимиты, списанные при постановке, возвращаются на аккаунт.
- Стоимость
- бесплатно, работает и при нулевом остатке лимитов
- Режим
- синхронный
- Ограничение
- не больше 10 отмен за сутки
Отмена задачи
/api/canceltask
Ставит задаче статус отмены, останавливает её выполнение и возвращает лимиты, списанные при постановке. Ключ — в query, report_id — в теле формы или в query. Метод принимает только POST.
После отмены запрос результата этим же report_id (GET /api/<метод>?report_id=…) возвращает ошибку -106 «The process was canceled by a user».
Параметры query и тело формы
-
keystring обязательныйКлюч API из настроек аккаунта. -
report_idint обязательныйID задачи из ответа на её постановку.
Ответ
-
report_idintID отменённой задачи. -
statusstringВсегдаcanceled. -
refunded_limitsintСколько лимитов вернулось на аккаунт.0— при постановке лимиты не списывались (комплексный анализ запросов списывает по ходу работы, расширенный анализ текста — по завершении) или их уже вернула поддержка.
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
-50 |
Not set |
Не передан report_id или он не число. |
-4 |
Access denied |
Задачи нет или она принадлежит другому аккаунту. |
-140 |
Task is already completed |
Задача уже выполнена — заберите результат по report_id. |
-141 |
Task is already finished |
Задача уже завершилась с ошибкой или была остановлена по таймауту. |
-142 |
Task is already canceled |
Задачу уже отменили — повторно лимиты не возвращаются. |
-143 |
Too many canceled tasks |
Превышено число отмен: не больше limit за period секунд. Счётчик общий с кнопкой остановки в интерфейсе инструментов. |
-144 |
Use POST |
Метод вызван не через POST. |
-145 |
Task cannot be canceled |
Задачу этого типа нельзя отменить или её данные недоступны. |
Что происходит при отмене
- Задача из очереди больше не запустится, а выполняющийся процесс останавливается в течение нескольких секунд. Вместе с ней снимаются и вспомогательные подзадачи, которые она успела поставить.
- Возвращается то, что списали при постановке задачи. Лимиты, которые инструмент списывает по ходу выполнения, за уже сделанную часть работы не возвращаются.
- Если задача успела завершиться до отмены, отмена не выполнится (
-140/-141), а результат останется доступен. - Отменить можно любую свою задачу инструмента с
report_id, в том числе поставленную в интерфейсе. Задачи SERP API сtask_idэтим методом не отменяются.
curl -X POST 'https://tools.pixelplus.ru/api/canceltask?key=ВАШ_КЛЮЧ' \
--data-urlencode 'report_id=2617068'
# {"report_id": 2617068, "status": "canceled", "refunded_limits": 120}
# Повторный запрос результата
curl -G 'https://tools.pixelplus.ru/api/intent' \
--data-urlencode 'key=ВАШ_КЛЮЧ' --data-urlencode 'report_id=2617068'
# {"error": "The process was canceled by a user", "code": -106}