Бизнес-процессы
Платежи редко остаются в одиночестве. На борту торговца, просматривая подозрительную транзакцию, одобряя выплату выше порога, собирая документы до повышения лимита - каждый представляет собой последовательность шагов, некоторые автоматизированы, некоторые требуют человека, большинство с установленным сроком.
Процессный движок позволяет моделировать их как диаграммы вместо кода: определение Описывает поток, и каждый его ход является пример Она проходит через диаграмму сама по себе.
Двигатель процесса - это Workflow и его BPM Включите его в разделе «Маркетплейс» Консоли администратора; раздел отображается только для организаций, где модуль активен.
Из чего состоит процесс
Определение - это график узлов, соединенных стрелками. Узлы бывают нескольких видов:
| Узел | Что он делает |
|---|---|
| Автоматический шаг | Называется функция платформы — экранирование клиента, создание выплаты, отправка уведомления, оценка таблицы решений. |
| Человеческая задача | Ждет человека. Появляется в очереди задач с формой, командой и сроком |
| Эксклюзивный шлюз | Выбирает ровно одну исходящую стрелку на основании условия |
| Параллельный шлюз | Расщепляется на несколько ветвей и ждет, когда все они вернутся. |
| Инклюзивный шлюз | Взять любую ветвь, состояние которой держит |
| таймер | Удерживает процесс до момента или в течение длительного времени. |
| Петля/многостанция | Повторяет шаг или выполняет его один раз на элемент коллекции. |
| Подпроцесс | Встраивание другого потока в качестве одного шага |
| Граница ошибок | Маршрут побега, нарисованный на шаге: когда шаг терпит неудачу, процесс уходит вдоль этой стрелки вместо остановки. |
Каждый экземпляр несет переменные - набор ценностей, который шагает читать и писать. Шаг скрининга записывает свой вердикт, шлюз дальше вниз читает его и выбирает ветку.
Диаграммы редактируются визуально в консоли администратора и могут быть импортированы и экспортированы в BPMN 2.0 XMLТаким образом, поток, привлеченный внешним модельером, может быть введен как есть.
Человеческие задачи
Задание ждет в очереди, пока кто-то не возьмет его. Принятие его делает этого человека ответственным; до тех пор никто. Задание несет команду, к которой оно принадлежит, форму, чтобы заполнить, и его крайний срок.
Операторы работают в очереди от Обработка задач в Консоль администратора: возьмите задание, заполните форму, заполните ее решением. Решение возвращается в процесс и определяет следующее отделение. Задания также могут быть делегированы, возвращены в пул, отклонены с основанием или обострены — автоматически, когда крайний срок проходит, или от руки.
Шаг надежности
Автоматический шаг обычно вызывает что-то за пределами платформы, а внешние вещи терпят неудачу. Три настройки решают, что произойдет потом. Все они устанавливаются на шаге и унаследованы от определения, когда шаг ничего не говорит.
Политика повторного использования
| Настройка | по умолчанию | Значение |
|---|---|---|
| Попытки | 5 | Всего попыток, первая из которых включала |
| Первоначальная задержка | 5 s | Подождите до первого повтора |
| умножитель | 5 | Как быстро растет ожидание |
| Максимальная задержка | 1 h | Потолок для ожидания |
| Возвращайся | переходный | Какие неудачи стоит повторить |
С дефолтами шаг перепробован пять раз примерно 13 Оригинальное название: The Four Retries Wait 5 секунды, 25 секунды, 2 минуты и 10 Одночасовой потолок вступает в игру только в том случае, если вы увеличите количество попыток - пятое ожидание будет 52 Минута и шестая превышали час.
Что восстанавливается по умолчанию. Только сбои, поддерживаемые состоянием на другой стороне: потеря соединения, тайм-аут, отказ разрешения имени, HTTP 429и ошибки шлюза 502, 503 и 504Определённый ответ — нет такой учетной записи, недействительные данные, уже обработаны, любой другой 4xx — не перепроверяется, потому что он не изменится.
HTTP 500 В этом списке нети различие имеет значение. 502, 503 or 504 исходит из инфраструктуры перед приложением: запрос не дошел до него, или ответ не вернулся, поэтому работа, скорее всего, никогда не начиналась. 500 означает обратное — заявка приняла запрос и не прошла частично, что для оплаты означает, что она, возможно, взяла деньги и не сообщила об этом.
Если вы знаете, что ваш провайдер рассматривает повторный запрос как одну и ту же операцию, добавьте: 500 Это решение о конкретном поставщике, а не по умолчанию.
Шаг процесса часто является вызовом к поставщику платежей, и повторное использование его без идемпотентности со стороны поставщика может взимать плату с клиента дважды.
Расширение списка - это ваше решение, принятое за шаг: либо allили список имен отказов и кодов ответов (provider_declined, 409) это добавленный Прежде чем расширить его на шаг, который перемещает деньги, подтвердите, что провайдер рассматривает повторный запрос как одну и ту же операцию.
Ограничение времени и сердцебиение
Каждый шаг имеет ограничение по времени, 30 Это не общий бюджет исполнения - это то, как долго шаг может продолжаться. Без признаков жизни.
Длительная операция (экспорт реестра, ожидание подтверждений блокчейна, опрос провайдеров с амортизацией) может длиться намного дольше, чем предел, пока он отчитывается. Каждый отчет перезапускает подсчет, поэтому предел отменяет то, что на самом деле висит, а не то, что просто медленно. Шаг, который проходит мимо своего предела, отменяется, и сбой следует обычному пути - что означает, что политика повторного использования также применяется к нему.
В очереди задач это разница между шагом, который осуществляется на 14:32и тот, который висит. только просроченный Фильтр показывает шаги, крайний срок которых прошел без результата.
Неудачный обзор
Когда на шаге заканчиваются попытки, процесс не может идти дальше сам по себе, и задача переходит к следующему этапу. Неудачный обзор Каждая запись сохраняет узел, тип отказа и текст, количество предпринятых попыток и контекст: какая задача была, какое определение и переменные процесса в момент отказа.
Имеются два решения:
- ретрит — повторно выполняет шаг по-настоящему. Если на этот раз он увенчается успехом, процесс продолжится с того места, где он стоял. Если повторная попытка даже не может начаться, запись возвращается в очередь, а не исчезает из нее.
- Закрыть Процесс остается там, где он есть: закрытие записи - это решение не преследовать ее, а не подтверждение того, что все в порядке.
Шаг с одной граница ошибки Нарисованный на ней никогда не доходит до этой страницы. Такой сбой является частью потока — процесс обрабатывает его по нарисованному маршруту.
Один и тот же узел, появляющийся здесь снова и снова, является не проблемой оператора, а сигналом к изменению процесса или политики повторного использования шага.Всплеск входов в коротком окне обычно означает отключение провайдера, а не неисправность в каждом отдельном процессе.
Версии
Публикация новой версии никогда не мешает запущенным экземплярам: каждый завершает версию, с которой он начался, и только новые экземпляры используют последнюю опубликованную версию.
В связи с этим возникает практический вопрос — ждать, пока старые закончатся, или переместить их? На него отвечает список определений: по любому определению можно увидеть, сколько живых экземпляров запущено и приостановлено на каждой из его версий, в том числе и на тех, которые уже опустели.
Редактирование следует простому циклу: опубликованное определение возвращается к черновику, изменяется, затем публикуется снова.Каждая публикация записывается с номером версии и отпечатком диаграммы, поэтому история того, что было опубликовано и когда можно проверить.
Таблицы решений
Правила ведения бизнеса, которые часто меняются, лучше держать вне диаграммы. Таблица решений (DMN) содержит их в виде рядов условий и результатов: пороговых значений риска, уровней сборов, предпочтений маршрутизации, пределов одобрения.
Этап процесса оценивает таблицу и продолжается по ее результатам. Таблицы версируются, их оценки записываются для аудита, и два варианта таблицы могут быть сопоставлены в реальном трафике с помощью эксперимента А/В до принятия одного из них.
Специальные дела
Не каждая работа имеет фиксированный порядок. Управление делами охватывает расследования — спор, обзор соответствия — где задачи добавляются по мере развития картины, фиксируются вехи, а дело решается и закрывается, а не следует диаграмме от начала до конца.
Где его найти в консоли администратора
| Страница | Для чего это |
|---|---|
| Определения процессов | Каталог процессов, публикаций, версий и живых экземпляров в каждой версии |
| Процессный редактор | Визуальная диаграмма, настройки шагов, включая надежность, BPMN импорт и экспорт |
| Обработка задач | Очередь оператора: попытки, сроки ответа, фильтр «только просроченный» |
| Неудачный обзор | Шаги, которые исчерпали свои попытки: повторите или закройте |
| Дела | Специальные расследования |
| Таблицы решений | Бизнес-правила, версии, аудиторский след, эксперименты A/B |
| Аналитика процессов | Где экземпляры проводят время и где они застревают |
связанный
- Консоль Admin - остальная часть рабочего пространства оператора
- Терминалы и маршрутизация Как платеж выбирает своего провайдера
- Начало работы Первая настройка платформы