Сервисы

runtime-engine

Оркестратор выполнения процессов Conveyor — продвижение графа по шагам, выбор транспорта и диспетчеризация задач.

runtime-engine — ядро исполнения: продвигает граф процесса по шагам, выбирает транспорт для каждого узла и диспетчеризует задачи. Работает только по TCP RPC от control-plane, без собственного HTTP-сервера.

На какие вопросы отвечает раздел: Кто продвигает процесс по шагам? Как настраиваются ретраи диспетчеризации? С кем общается engine?

Цель

Надёжно выполнить граф процесса: определить готовые шаги, отправить их исполнителям и обработать результаты.

Задачи

  • оркестрация Запуска, ack/result шагов;
  • выбор транспорта по типу узла (nodeType → TransportConfig);
  • диспетчеризация задач в очереди с ретраями;
  • чтение каталога плагинов из Postgres для резолва транспорта (без записи).

Требования

  • PostgreSQL и Redis (BullMQ);
  • runtime-control-plane (TCP RPC в обе стороны);
  • secret-manager (резолв секретов), file-service (файлы по diagram/run).

Ограничения

  • только TCP RPC от control-plane: ack/result шагов принимает ingress, не сам engine.
  • каталог плагинов ведёт plugin-manager (engine читает его для резолва транспорта).
  • бизнес-логика и retry внутри шага — в узлах/плагинах.

Настройки и переменные окружения

ПеременнаяЗачемНа что влияетПо умолчанию
RUNTIME_ENGINE_RPC_TCP_PORTПорт TCP RPC движкаПриём RPC от control-plane3000
CONTROL_PLANE_TCP_CONNECTАдрес control-plane (TCP)can_dispatch, dispatch ingressruntime-control-plane:3001
CONTROL_PLANE_HTTP_BASE_URLHTTP control-planeСовместимость/внутренние вызовыhttp://runtime-control-plane:3000
DISPATCH_MAX_ATTEMPTSМакс. попыток sendToExecutorСколько раз ретраить диспетчеризацию до failed5
DISPATCH_RETRY_BASE_MSБаза backoffЗадержка между ретраями диспетчеризации300
PLUGIN_CONTROL_PLANE_KEYКлюч control-planeДоступ к внутренним маршрутам
PLUGIN_CONTROL_PLANE_ALLOW_CIDRSAllowlist CIDRКто может обращаться к ingress0.0.0.0/0
API_BASE_URLАдрес apiЗагрузка файлов движкомhttp://api:3000
SECRETS_TCP_CONNECTАдрес secret-managerРезолв секретов при подготовке шагаsecret-manager:3000
FILE_SERVICE_BASE_URLАдрес file-serviceФайлы по diagram/runhttp://file-service:3000
SEARCH_SERVICE_TCP_CONNECTАдрес search-serviceПоиск/индексация (опц.)search-service:3000
DATABASE_URL / REDIS_HOST / REDIS_PORTБД и очередиСостояние Запусков и задачи— / redis / 6379

Дальше