Работа с ошибками и отладкой сценариев

Даже идеальный на первый взгляд сценарий автоматизации может упасть при запуске. Причины бывают разными: неверная настройка узла, нестабильность внешнего сервиса или неожиданные данные.

Хорошая новость — в Нейро42 есть удобные инструменты, которые помогают быстро понять, что произошло, и устранить проблему.

 

Как анализировать ошибки в сценариях

Каждый запуск сценария фиксируется в журнале исполнений. Если сценарий завершился ошибкой, журнал позволяет:

  • увидеть статус и время запуска,
  • проследить последовательность выполненных шагов,
  • определить точку, на которой произошел сбой.

Чтобы открыть журнал:

  1. Перейдите в раздел Исполнения (Выполнениеs) в левой панели.
  2. Найдите строку с ошибкой.
  3. Нажмите Просмотр / View или саму строку — откроется режим “только чтение” с полным треком выполнения.

Здесь вы увидите, какие узлы сработали корректно, а на каком шаге сценарий “споткнулся”.

Для переключения между редактором и режимом просмотра выполнения используйте кнопки Editor | Выполнениеs.

 

Перехват ошибочных сценариев

Чтобы не отслеживать сбои вручную, вы можете создать отдельный Error Воркфлоу — сценарий, который запускается только тогда, когда основной сценарий завершается с ошибкой.

  1. Создайте новый сценарий.
  2. Добавьте в него узел Error Trigger — он отслеживает ошибки других сценариев.
  3. Далее разместите те узлы, которые помогут вам реагировать на сбои:
    • отправить сообщение в Telegram,
    • прислать письмо,
    • залогировать ошибку в БД,
    • уведомить команду.

Чтобы основной сценарий передавал ошибки в этот Error Воркфлоу:

  • откройте настройки основного сценария,
  • в поле Error Воркфлоу выберите созданный вами обработчик ошибок.

Важные особенности

  • Сценарий с Error Trigger не нужно активировать.
  • Если в сценарии присутствует Error Trigger, он автоматически становится собственным обработчиком ошибок.
  • Error Воркфлоу не срабатывает при ручном запуске — только при автоматическом выполнении.
  • Один обработчик ошибок можно назначить для нескольких сценариев.

 

Генерация ошибок внутри сценария

Иногда полезно намеренно прервать выполнение сценария, если данные не соответствуют ожиданиям. Для этого используется узел Stop and Error — он останавливает сценарий и выбрасывает предсказуемую ошибку.

Вы можете указать:

  • Error Message — свое сообщение об ошибке,
  • Error Object — указание типа ошибки.

Узел может стоять только в конце ветки сценария.

Когда имеет смысл бросать ошибки самому

Это полезно, если вы работаете с внешними источниками данных и хотите поймать аномалию как можно раньше. Например:

  • JSON от сервиса пришел кривой,
  • поле должно быть числом, а пришло строкой,
  • отсутствует обязательное значение,
  • внешний сервер вернул неверный ответ.

Если не остановить сценарий на раннем этапе, ошибка может всплыть позже — и будет намного сложнее понять, откуда она пришла.

Stop and Error позволяет фиксировать проблему ровно в том месте, где она возникла.

Предупреждение о применении иностранного языка

Настоящий мануал включает иностранные термины и выражения, оставленные в оригинале ввиду специфики предметной области и сложности однозначного перевода на русский язык. Данные элементы используются исключительно в целях повышения точности и ясности изложенного материала, поскольку точные аналоги на русском языке либо отсутствуют, либо существенно усложняют восприятие информации пользователями-профессионалами.

Техническая документация не является информацией для широкого круга потребителей. Документация предназначена исключительно для специализированных целей и рассчитана на аудиторию профессионалов, обладающих соответствующей квалификацией и знанием отраслевых стандартов и терминологии. Использование иностранной лексики согласуется с положениями действующего российского законодательства, регулирующего употребление иностранных слов в специальных материалах, направленных на профессиональных пользователей

Данная мера принята для минимизации рисков неправильного толкования ключевых понятий и предотвращения негативных последствий, связанных с некорректностью переводов сложных технических терминов и выражений.

Мы обращаем внимание на тот факт, что наличие иностранного языка в данной документации обусловлено профессиональной необходимостью и соответствует установленным нормам и правилам использования специализированной литературы и документации в Российской Федерации.

Свяжитесь с нами

* нажимая на кнопку, Вы даете согласие на обработку персональных данных