Лекция

Отказоустойчивость сценариев

Сценарий уже боевой. Заявки с формы должны становиться сделкой в CRM, строкой в таблице и сообщением в Telegram. Ночью заказы должны ложиться в таблицу. Письмо, которое нельзя послать второй раз, уже могло уйти. Связка неделю отвечает «нет новых данных» и выглядит исправной. Вопрос лекции — что делать, когда шаг падает, когда платформа сама выключает сценарий и когда журнал зелёный, а работа не сделана.

Три разных поломки
  • Шаг упал: в журнале есть ошибка конкретного модуля.
  • Сценарий выключили: новых запусков нет, значит новых ошибок тоже нет.
  • Журнал зелёный, а дела нет: пакет выброшен, подменён или пустой запуск засчитан успехом.

Платформы ниже — примеры механизмов, не обзор и не совет, что выбрать. Кнопки меняются. Решение «повторить, остановить, подменить, позвать человека» — нет. Примеры чередуются: одна связка на всю лекцию не держится.

Что остаётся в соседних лекциях

Транспорт, коды ответа, доставка вебхука и ключ идемпотентности сюда не переносятся. Одна рабочая отсылка: повтор шага, который создаёт запись, создаст вторую, если сам шаг к повтору не готов. Тихая порча даты, ведущего нуля и длинного числа — другая тишина: значение валидно, поэтому сценарий зелёный. Повтор шага с моделью возвращает другой текст — тоже соседняя лекция. Текст ошибки может содержать секрет: в чат клиенту его не кладут.

Тест до запуска и логика «событие → условие → действие» здесь не разбираются. Сценарий уже запущен.

Тема 1 из 15 · Три поломки боевого сценария

Три вопроса уже запущенного сценария

Поломка боевого сценария — не прогон на тестовых данных и не расшифровка кода ответа. Сначала выбирают, какой из трёх вопросов перед вами. От вопроса зависит ремонт.

Шаг упал

Заявка с формы не стала сделкой: модуль CRM записал ошибку. Это первый вопрос. Повтор уместен только если ошибка временная и шаг можно выполнить второй раз без второй записи. Ошибка данных при том же сопоставлении полей повторится такой же.

Сценарий выключили

Ночная выгрузка заказов перестала стартовать. Платформа сама сняла расписание или остановила связку. Новых запусков нет — новых строк ошибки тоже нет. Смотреть «последнюю красную строку» бесполезно: журнал замолчал вместе со сценарием. Чинить надо причину остановки и включать сценарий руками, а не ждать ещё один автоповтор.

Журнал зелёный, а работы нет

Связка Альбато неделю отвечает «нет новых данных». Таблица заказов пустая, ошибки нет. Либо пакет выбросили и пометили прогон успехом, либо подменили выход модуля, либо пустой запуск засчитали удачей. Письмо, которое нельзя послать дважды, сюда же: зелёный шаг «отправить» уже сделал дело, и повтор его трогать нельзя.

Наша тишина — не порча значения

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

Ночная выгрузка заказов неделю пишет успех, новых строк в таблице нет, ошибки в журнале нет. Какой из трёх вопросов это?
Успешные запуски идут, ошибки нет, строк нет. Это третья поломка: пустой успех или выброшенный пакет. Выключенный сценарий новых запусков не пишет. Упавший шаг оставляет ошибку.
Заявка с формы не создала сделку, модуль CRM записал ошибку. Что проверяют первым?
Ошибка модуля — первый вопрос. Дальше решают, повторять шаг или править данные руками. Выключение, пустой успех и порча валидного значения здесь ни при чём.
Бесплатный доступ

Дальше нужен аккаунт

Прогресс и монеты сохранятся.