Change language

Среда выполнения рабочих процессов Centimanus

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

Исполняемое повторно выполнение

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

первый проход: найти заказ -> сохранить результат второй проход: повторно воспроизвести заказ -> зарезервировать станок -> сохранить результат третий проход: повторно воспроизвести оба -> уведомить оператора -> завершить

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

Почему рабочие процессы отделены

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

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

Доставка рабочих процессов

Решения определяют, какие рабочие процессы активны. Ptah публикует этот выбор, сервис DAG предоставляет выбранные дескрипторы, а Centimanus загружает соответствующее содержимое через прокси Ptah с адресацией по содержимому. Рабочий процесс, не входящий в активное решение, недоступен для выполнения.

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

Граница надёжности

Centimanus записывает результаты завершённых узлов, но внешние операции по-прежнему должны соблюдать собственные правила идемпотентности. Телеметрия рабочих процессов используется для видимости; она не определяет состояние выполнения. Бизнес-данные остаются в сервисах, которые ими владеют, а не превращаются в состояние движка рабочих процессов.

Место в системе

Centimanus получает задания и вызывает сервисы через Fujin. Он использует платформенное хранилище для прогресса рабочих процессов и сообщает события жизненного цикла для мониторинга. Он не владеет доменными записями, не выбирает активные решения и не маршрутизирует сообщения между другими равноправными узлами.