Top.Mail.Ru
Локальный запуск экземпляров приложения | Tarantool
Tarantool
Узнайте содержание релиза 2.8
Tarantool Cartridge Cartridge CLI Команды Cartridge CLI Локальный запуск экземпляров приложения

Локальный запуск экземпляров приложения

В ходе локальной разработки вы можете запускать экземпляры приложения из его корневой директории:

cartridge start [ИМЯ_ЭКЗЕМПЛЯРА...] [параметры]

Здесь [ИМЯ_ЭКЗЕМПЛЯРА...] означает, что можно указать больше одного имени.

Если не указать ИМЯ_ЭКЗЕМПЛЯРА, в список аргументов войдут все экземпляры, перечисленные в файле конфигурации экземпляров Cartridge. См. параметр --cfg ниже.

Имя приложения (APP_NAME) передается экземпляру во время запуска. По умолчанию значение переменной берется из поля package в файле .rockspec. Имя также можно указать с помощью параметра --name (см. ниже).

--name Имя приложения. По умолчанию значение берется из поля package в файле .rockspec.
--timeout Время, в течение которого ожидается запуск экземпляров в фоновом режиме. Указывается в секундах или в виде отрезка (72h3m0.5s). Значение не может быть отрицательным. Если задать 0, Tarantool будет бесконечно ожидать запуска экземпляров. По умолчанию — 60 секунд (1m0s).
-d, --daemonize Запуск экземпляра в фоновом режиме. Если задать этот параметр, Tarantool будет также ожидать, пока не выполнится скрипт инициализации приложения. Параметр удобно использовать, если init.lua требует долгой загрузки данных из снимка и Tarantool должен дождаться завершения запуска. Вы можете также передать этот параметр, если скрипт инициализации выдает ошибки, которые Tarantool должен обработать.
--stateboard Запуск экземпляров, включая stateboard-экземпляр. Игнорируется, если задать параметр --stateboard-only.
--stateboard-only Запуск stateboard-экземпляра. Если задать этот параметр, ИМЯ_ЭКЗЕМПЛЯРА... игнорируется.
--script Точка входа в приложение, по умолчанию — init.lua в корневой директории проекта. script — также раздел файла .cartridge.yml. Узнайте больше о путях к файлам экземпляров.
--run-dir Директория, где хранятся PID-файлы и файлы сокетов (по умолчанию ./tmp/run). run-dir — также раздел файла .cartridge.yml. Узнайте больше о путях к файлам экземпляров.
--data-dir Директория, в которой находятся рабочие директории экземпляров (по умолчанию ./tmp/data). data-dir — также раздел файла .cartridge.yml. Узнайте больше о путях к файлам экземпляров.
--log-dir Директория, где хранятся файлы журналов (по умолчанию ./tmp/log). log-dir — также раздел файла .cartridge.yml. Узнайте больше о путях к файлам экземпляров.
--cfg Путь к файлу конфигурации экземпляров (по умолчанию ./instances.yml). cfg — также раздел файла .cartridge.yml. Узнайте больше о путях к файлам экземпляров.

Команда start также поддерживает глобальные параметры.

Команда cartridge start запускает экземпляр Tarantool с принудительным использованием переменных окружения:

TARANTOOL_APP_NAME="<имя_приложения>"
TARANTOOL_INSTANCE_NAME="<имя_экземпляра>"
TARANTOOL_CFG="<cfg>"
TARANTOOL_PID_FILE="<run-dir>/<имя_приложения>.<имя_экземпляра>.pid"
TARANTOOL_CONSOLE_SOCK="<run-dir>/<имя_приложения>.<имя_экземпляра>.control"
TARANTOOL_WORKDIR="<data-dir>/<имя_приложения>.<имя_экземпляра>.control"

Если экземпляр запускается в фоновом режиме, передается также путь к notify-сокету:

NOTIFY_SOCKET="<data-dir>/<имя_приложения>.<имя_экземпляра>.notify"

cartridge.cfg() использует переменные TARANTOOL_APP_NAME и TARANTOOL_INSTANCE_NAME, чтобы считывать конфигурацию экземпляра из файла, который указан в переменной TARANTOOL_CFG.