Обработка циклов в сценариях автоматизации
При построении сценариев автоматизации профили могут проходить через одну и ту же последовательность узлов многократно — например, при переходах назад к предыдущим узлам или при использовании узла Перейти в сценарий, который отправляет профиль в другой сценарий.
Платформа автоматически обнаруживает такие циклы и защищает от бесконечного выполнения сценария.
Что такое цикл в сценарии
Цикл возникает, когда профиль проходит через одну и ту же последовательность узлов повторно. Это может происходить при переходах назад к уже пройденным узлам, условных переходах или при использовании узла Перейти в сценарий, если профиль возвращается в исходный сценарий. Например, профиль проходит путь A — B — C — A и начинает цикл заново.
Ограничение на количество циклов
По умолчанию платформа ограничивает количество повторений одного цикла значением 20. Это значение может изменить администратор платформы, задав его в файле конфигурации.
При достижении лимита:
- Выполнение задачи для данного профиля останавливается
- На последнем узле цикла, в котором профиль находился на момент обнаружения, появится ошибка с сообщением
Cycle limit of 20 has been reached - Профиль больше не обрабатывается этим сценарием

Если профиль достиг лимита циклов, проверьте сценарий на наличие неправильных условий, которые не позволяют профилю выйти из цикла.
При повторном прохождении цикла (до достижен ия лимита) платформа автоматически добавляет задержку перед повторным входом. Например, если профиль прошёл цикл A — B — A, перед следующим проходом он будет ждать 60 секунд (перед узлом A). Значение задержки может изменить администратор платформы.
Защита между сценариями
При переходах между разными сценариями через узел Перейти в сценарий платформа считает, сколько раз профиль уже посещал целевой сценарий. Если профиль посещал один и тот же сценарий более 20 раз, дальнейший переход блокируется.
Это предотвращает ситуацию, когда два сценария "перекидывают" профиль друг другу бесконечно.
Рекомендации
- Закладывайте логику выхода из цикла. При проектировании сценариев с циклами и пере ходами назад убедитесь, что у профиля есть путь для выхода из цикла при выполнении определённых условий.
- Проверяйте условия при ошибке лимита. Если профиль достиг лимита циклов, проверьте, не зациклился ли сценарий из-за неправильных условий в узлах.
- Избегайте взаимных переходов между сценариями. Если два сценария перекидывают профили друг другу через узел Перейти в сценарий, убедитесь, что у профиля есть условие для выхода из этой цепочки.
При проектировании сценариев с циклами полезно тестировать их на небольшом сегменте профилей, чтобы убедиться, что профили корректно проходят и выходят из цикла.