Перезапуск узла при некорректном ответе (опрос)
API формально ответил успешно (статус 200), но задача ещё в обработке. С помощью настройки Повторить при некорректных данных узел будет перезапускаться через заданное время, пока в ответе есть «триггерные» слова (например, queued, processing). Как только приходит ответ без них — узел завершается и передаёт результат дальше.
Это особенно полезно при генерации контента — видео, аудио, картинок, документов.
Когда использовать
- Работа с узлами типа «Get Result»: один узел стартует процесс и возвращает ID, второй получает результат спустя время
- Применимо почти для всех ИИ-сервисов (кроме текстовых)
Типичный пример — API генерации видео:
// Первый запрос — задача в очереди
{"status": "queued", "id": "abc123"}
// Через 5 секунд — обрабатывается
{"status": "processing", "id": "abc123"}
// Через 10 секунд — готово!
{"status": "completed", "url": "https://..."}Вам нужно дождаться completed с готовой ссылкой. Вы указываете триггерные слова (queued, processing) — пока они есть в ответе, узел перезапускается через заданное время. Как только пришёл completed (без триггерных слов) — узел завершается успешно.
Включите: Повторить при некорректных данных
Для генерации контента (видео, аудио, картинки): 5–10 попыток, задержка 20–30 сек.
Настройка
Повторить при некорректных данных — включить автоматический повтор при несоответствии ответа ожидаемому паттерну.
Количество попыток и Задержка между попытками (сек) — как часто опрашивать API (см. Перезапуск узла при ошибке).
RegExp (регулярное выражение) — вы указываете триггерные слова: если они найдены в ответе, узел перезапускается через заданное время. Если триггерных слов нет — это успех, узел завершается и передаёт результат дальше.
Важно: без .* паттерн сработает только если весь ответ целиком равен вашему слову. Всегда пишите .*(ваш_паттерн).*
Примеры паттернов
| Задача | Паттерн |
|---|---|
Перезапуск пока статус queued | .*queued.* |
Перезапуск пока queued или pending | .*(queued|pending).* |
| Перезапуск пока идёт обработка | .*(queued|pending|processing|in_progress).* |
Перезапуск пока ready = false | .*"ready":\s*false.* |
Пример: ожидание генерации видео

Задача: API генерации видео сначала возвращает in_progress, потом queued, и только потом completed с готовой ссылкой.
Настройка:

- Включите Повторить при некорректных данных
- RegExp:
.*(in_progress|queued).* - Количество попыток: 5
- Задержка между попытками (сек): 30
Как это работает:

- Итерация 1:
"status": "in_progress"— есть триггерное слово. Узел перезапускается через 30 секунд.

- Итерация 2:
"status": "queued"— есть триггерное слово. Узел перезапускается через 30 секунд.

- Итерация 3:
"status": "completed"— триггерных слов нет. Узел завершается, результат (видео) передаётся в следующий узел.
Узел перезапускается каждые 30 секунд, пока не получит ответ без триггерных слов (queued, in_progress). Как только пришёл успешный ответ — данные передаются в сценарий.
Технические детали
- Используется движок регулярных выражений Go (RE2)
- Поддерживаются:
\d,\s,\w,|,() - Не поддерживаются: lookahead
(?=...)и lookbehind(?<=...)