Диспетчер заданий

API диспетчера

Новая панель принимает задания и хранит их состояние в своей базе. Исполнительная ферма и прямое управление телефонами остаются на 103.114.40.242.

API: https://207.89.19.16/api/tasks. MCP: https://207.89.19.16/mcp. Ключ API диспетчера доступен администратору в панели, в разделе «Доступ к API диспетчера». Это отдельный ключ от ключей фермы.

POST /api/tasks
Content-Type: application/json
X-Api-Key: КЛЮЧ_ДИСПЕТЧЕРА

{
  "count": 1,
  "metadata": {"project": "тест"},
  "options": {
    "search_site": "ya.ru",
    "query": "тест запрос",
    "target_domain": "reqbin.com",
    "target_stay_s": 30,
    "click_random_link": true,
    "max_show_more": 3
  }
}

worker_ids не передаётся. Диспетчер резервирует свободный браузер: сначала разные устройства, затем свободные слоты. После подтверждённого завершения фермы резерв освобождается. ID диспетчера и ID задания фермы — разные идентификаторы; в статусе есть upstream_job_id.

target_stay_s — 0–600 секунд после загрузки целевого домена. click_random_link — один случайный переход по обычной внутренней ссылке примерно посередине пребывания. Формы, внешние ссылки, загрузки и действия входа, оплаты или удаления исключаются. Если подходящей ссылки нет — internal_link_missing. CAPTCHA требует ручного прохождения. timeout_s ограничивает весь сценарий, включая пребывание; для длительного пребывания увеличьте timeout_s, максимум 840.

Состояния

QUEUED → DISPATCHING → SUBMITTED → RUNNING → PASSED/FAILED/ERROR/CANCELLED. CANCELLING означает ожидание подтверждения отмены. Потеря связи с фермой не освобождает резерв и не создаёт новое задание с другим ID передачи.

Запросы

Ответ постановки содержит batch_id, jobs и ссылки streams. Поток ждёт назначения, передаёт кадры фермы и закрывается после завершения. Ссылка подписана, срок — час. Вкладка пытается закрыться автоматически, но браузер может запретить её закрытие.

MCP

queue_search, task_status, cancel_task, scheduler_status, get_task_stream_link. Авторизация прежним Bearer-токеном MCP; набор инструментов новой панели относится только к заданиям. Полный MCP фермы остаётся на https://103.114.40.242/mcp.

metadata — произвольный JSON-объект до 16 КиБ, сохраняется для будущей обработки. Повторный POST создаёт новое задание. Защита от повторной передачи в ферму работает по внутреннему уникальному ref, а не объединяет отдельные клиентские запросы.