Skip to content

Документация по раннерам Unishift

Этот раздел содержит документацию по каждому из раннеров платформы Unishift.

Обзор раннеров

РаннерТипНазначение
ShellshellВыполнение shell-команд на хосте
CodecodeЗапуск кода на разных языках в изолированных контейнерах
DockerdockerВыполнение задач в Docker-контейнерах
SQLsqlВыполнение SQL-запросов к базам данных
DOCX Generatordocx-generatorГенерация DOCX-документов из HTML-шаблонов
PDF Generatorpdf-generatorГенерация PDF-документов из HTML-шаблонов
XLSX Generatorxlsx-generatorГенерация XLSX-файлов (в разработке)

Исходники — git submodules orchestrator: runners/<name>/. Сборка: cd runners/shell && go build -o runner-shell .

Общие параметры

Все раннеры используют runner-common и поддерживают следующие общие параметры:

Параметры

Ключи совпадают у ush config set, --set при ush install / ush start и флагов прямого запуска бинарника:

КлючОписаниеПо умолчанию
urlБазовый URL gateway (gRPC stream), не веб-клиента
nameИмя раннера
tokenТокен доступа
insecurePlaintext gRPC (http://…); для HTTPS обычно не нуженfalse
untaggedРазрешить задачи без тегов. Задачи с тегами ищут раннер по точному набору тегов и этот ключ не учитываютtrue
temporaryПометить раннер как временный (эфемерный)false
session-timeoutТаймаут сессии в мс10000
task-timeoutТаймаут выполнения задачи в мс300000 (5 мин)
concurrencyКоличество одновременных задач1
tagsТеги через запятую
descriptionОписание раннера
artifact-tmpВременная директория для артефактов~/.cache

Переменные окружения

При прямом запуске бинарника те же параметры читаются из окружения (URL, TOKEN, CONCURRENCY, TAGS, INSECURE, …).

Приоритет конфигурации

  1. Значения, заданные через ush (--set при install/start, ush config set)
  2. Переменные окружения
  3. Конфигурационный файл (при прямом запуске -config)
  4. Значения по умолчанию (наименьший приоритет)

Управление через ush

Те же параметры настраиваются без правки файлов — командами ush config get / ush config set. Ключи совпадают с флагами без ведущего дефиса: url, token, name, insecure, untagged, temporary, session-timeout, task-timeout, concurrency, tags, description, artifact-tmp. Специфичные для плагина ключи (image, dsn, ollama-* и т.д.) — на страницах отдельных раннеров. Изменения запущенного раннера применяются после ush restart <id>.

bash
ush config get shell-eedb1b0f
ush config set shell-eedb1b0f concurrency 4

URL = gateway

Раннер ходит в /api/v1/runner-stream по gRPC. На self-hosted prod это порт 18090 (gateway), а не 18080 (UI). Для http:// укажите insecure=true. Подробнее — в CLI.

Запуск

Через ush (рекомендуется):

bash
ush install shell --start             # опросит url/token и запустит инстанс
ush start shell --non-interactive \
  --set url=http://HOST:18090 \
  --set token=YOUR_TOKEN

Прямой запуск с конфигурационным файлом:

bash
./runner-shell -config config.yaml