Даже идеальный на первый взгляд сценарий автоматизации может упасть при запуске. Причины бывают разными: неверная настройка узла, нестабильность внешнего сервиса или неожиданные данные.
Хорошая новость — в Нейро42 есть удобные инструменты, которые помогают быстро понять, что произошло, и устранить проблему.
Как анализировать ошибки в сценариях
Каждый запуск сценария фиксируется в журнале исполнений. Если сценарий завершился ошибкой, журнал позволяет:
- увидеть статус и время запуска,
- проследить последовательность выполненных шагов,
- определить точку, на которой произошел сбой.
Чтобы открыть журнал:
- Перейдите в раздел Исполнения (Выполнениеs) в левой панели.
- Найдите строку с ошибкой.
- Нажмите Просмотр / View или саму строку — откроется режим “только чтение” с полным треком выполнения.
Здесь вы увидите, какие узлы сработали корректно, а на каком шаге сценарий “споткнулся”.
Для переключения между редактором и режимом просмотра выполнения используйте кнопки Editor | Выполнениеs.
Перехват ошибочных сценариев
Чтобы не отслеживать сбои вручную, вы можете создать отдельный Error Воркфлоу — сценарий, который запускается только тогда, когда основной сценарий завершается с ошибкой.
- Создайте новый сценарий.
- Добавьте в него узел Error Trigger — он отслеживает ошибки других сценариев.
- Далее разместите те узлы, которые помогут вам реагировать на сбои:
- отправить сообщение в Telegram,
- прислать письмо,
- залогировать ошибку в БД,
- уведомить команду.
Чтобы основной сценарий передавал ошибки в этот Error Воркфлоу:
- откройте настройки основного сценария,
- в поле Error Воркфлоу выберите созданный вами обработчик ошибок.
Важные особенности
- Сценарий с Error Trigger не нужно активировать.
- Если в сценарии присутствует Error Trigger, он автоматически становится собственным обработчиком ошибок.
- Error Воркфлоу не срабатывает при ручном запуске — только при автоматическом выполнении.
- Один обработчик ошибок можно назначить для нескольких сценариев.
Генерация ошибок внутри сценария
Иногда полезно намеренно прервать выполнение сценария, если данные не соответствуют ожиданиям. Для этого используется узел Stop and Error — он останавливает сценарий и выбрасывает предсказуемую ошибку.
Вы можете указать:
- Error Message — свое сообщение об ошибке,
- Error Object — указание типа ошибки.
Узел может стоять только в конце ветки сценария.
Когда имеет смысл бросать ошибки самому
Это полезно, если вы работаете с внешними источниками данных и хотите поймать аномалию как можно раньше. Например:
- JSON от сервиса пришел кривой,
- поле должно быть числом, а пришло строкой,
- отсутствует обязательное значение,
- внешний сервер вернул неверный ответ.
Если не остановить сценарий на раннем этапе, ошибка может всплыть позже — и будет намного сложнее понять, откуда она пришла.
Stop and Error позволяет фиксировать проблему ровно в том месте, где она возникла.