Локальный запуск экземпляров приложения
В ходе локальной разработки вы можете запускать экземпляры приложения из его корневой директории:
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.