Очередь
Узел, который заставляет выполнение подождать заданное число секунд, а затем пропускает его дальше.
4 мин чтения
Очередь задерживает флоу. Выполнение, дошедшее до узла, останавливается, ждёт заданное вами число секунд и затем идёт дальше по тому же пути.
- Узел
- Очередь
- Тип
queue- Категория
- Выход
- Порты
- По умолчанию
defaultподключение обязательно
- По умолчанию
- Завершает путь
- Нет
Что делает узел
Когда выполнение доходит до узла, оно останавливается на нём, и его статус становится waiting. Slen сохраняет то, что выполнение успело собрать. Запрос, который начал выполнение, сразу получает ответ 202, и в ответе названы узел и момент, когда ожидание закончится.
{
"data": {
"execution_id": "74438200973594800",
"status": "waiting",
"operation": "summarize_report",
"output": null,
"error": null,
"error_code": null,
"error_message": null,
"cost": { "estimated": null, "actual": null },
"cache": { "hit": false, "cached_at": null },
"replayed": false,
"waiting_on": {
"node_key": "wait",
"type": "queue_node",
"resume_at": "2026-10-02T09:35:00+00:00"
},
"trace_url": "/v1/executions/74438200973594800",
"retry_after_seconds": 300
}
}Выполнение, запущенное в асинхронном режиме, получило ответ раньше — со статусом queued. Его статус становится waiting, когда оно доходит до узла.
Когда этот момент наступает, выполнение продолжается с того же узла. Оно выходит через порт По умолчанию и переходит к следующему узлу. Ожидающие выполнения подбираются раз в минуту, поэтому ожидание никогда не бывает короче задержки и обычно заканчивается в течение минуты после неё.
Узел ждёт один раз. Это задержка, а не цикл.
Пока выполнение ждёт, ничего не резервируется. AI-модель резервирует деньги, когда выполнение доходит до этого узла. Для модели, которая стоит после очереди, резерв берётся и вызов делается после задержки — по бюджетам, какими они будут в тот момент.
Когда использовать
Используйте узел, чтобы отложить трату. Выполнение ждёт, а модель вызывается после задержки.
Вызывающая сторона должна быть готова к ответу, который ещё не окончателен. Как приложение ждёт результата, показано в статье Асинхронные запуски и ожидание.
Узел не выстраивает выполнения по порядку и не ограничивает, сколько их идёт одновременно. Каждое выполнение ждёт свою задержку.
Чтобы дождаться решения человека, используйте узел Требуется одобрение.
На вкладке Выполнения этого флоу выполнение, которое стоит на узле, показано как Ожидает. Статья Разбор выполнения показывает, как следить за ждущими выполнениями на холсте флоу.
Настройки
| Настройка | Для чего она |
|---|---|
delay_seconds | Сколько выполнение ждёт на узле, в целых секундах. Не меньше 1. Узел без значения ждёт 60 секунд. |
В конструкторе эта настройка — поле Ждать (секунды). У нового узла в нём стоит 60.
Самая длинная задержка по умолчанию — 255 600 секунд, то есть 71 час. Более длинная задержка отклоняется при публикации флоу.
Порты
У узла один порт, По умолчанию, и он обязательный. Флоу, в котором этот порт никуда не ведёт, не публикуется. Выполнение выходит через него, когда ожидание закончилось.
Что такое обязательный порт, сказано в статье Порты и ветвление.
Выход
После ожидания узел оставляет одно поле для следующих узлов.
{ "queued_for_seconds": 300 }queued_for_seconds — это задержка, заданная узлу, а не прошедшее время. Следующий узел читает его по пути nodes.<key>.output.queued_for_seconds, где <key> — ключ этого узла во флоу.
Ошибки
Своих ошибок узел не выдаёт. Его настройка проверяется при проверке флоу и при его публикации.
В API запись issues называет такую проверку в params.detail; её code — invalid_node_config.
| Проверка | Сообщение в конструкторе |
|---|---|
queue_invalid_delay | Задержка «{node}» должна быть целым числом секунд, не меньше 1. |
queue_delay_too_long | Задержка «{node}» дольше, чем хранится ожидающее выполнение: не больше {max} секунд. |
Узел не может стоять после узла Резерв бюджета и перед узлом AI-модель, для которого берётся резерв, потому что у ожидающего выполнения нет резерва. Такой флоу не публикуется.
По умолчанию выполнение может ждать в общей сложности 72 часа. Время считается от его первой паузы, а для выполнения, отправленного в асинхронном режиме, — от момента, когда оно было принято. После этого выполнение закрывается как failed, и его статус говорит почему.
{
"status": "failed",
"error_code": "parked_expired",
"error_message": "The execution waited longer than a parked execution may and was closed"
}Ошибка, которая случилась после ожидания, не приходит в ответ на запрос, начавший выполнение, потому что на этот запрос уже ответили. Прочитайте статус выполнения или подпишитесь на вебхук execution.finished.
Пример
- Запрос — По умолчанию → Очередь
- Очередь — По умолчанию → AI-модель
- AI-модель — Успех → Вернуть ответ
Запрос получает ответ waiting, как только выполнение доходит до узла Очередь. После задержки AI-модель резервирует деньги и вызывает модель, а Вернуть ответ завершает выполнение как completed. Приложение читает результат по идентификатору выполнения.
См. также
Асинхронные запуски и ожидание — как приложение ждёт выполнения, которое ответило
waiting.Порты и ветвление — обязательные порты и куда ведёт порт.
Как устроен флоу — все узлы конструктора и группы палитры.
Паузы, очереди и возобновление — что выполнение сохраняет и удерживает, пока ждёт, и сколько оно может ждать.
Требуется одобрение — ждать решения человека, а не заданное время.
Собрано из openapi b070e1f, sdk contract 5cc7055, php ae4a53b, node 84bc62d