Пути к файлам экземпляров
Обращаясь к запущенным экземплярам, команды вычисляют пути к файлам, связанным с этими экземплярами. Такие пути определяются для каждого экземпляра при его запуске. Они необходимы, например, для просмотра журналов или подключения к экземпляру через сокет консоли (console socket).
В корневой директории приложения находится файл .cartridge.yml
. Он позволяет переопределять пути для локально запущенных экземпляров. Вместо того, чтобы указывать пути через параметры команды, вы можете прописать соответствующее значение в файле .cartridge.yml
.
Например, вместо того, чтобы запускать такую команду:
cartridge start --run-dir my-run-dir --cfg my-instances.yml --script my-init.lua
вы можете записать в файл .cartridge.yml
следующее:
run-dir: my-run-dir
cfg: my-instances.yml
script: my-init.lua
В файле .cartridge.yml
можно включить или отключить параметр stateboard
. В приложении, созданном по шаблону, этому параметру присвоено значение true
.
В директории запуска (--run-dir
) хранятся следующие файлы:
- PID-файлы экземпляров —
<run-dir>/<имя_приложения>.<имя_экземпляра>.pid
. - Сокеты консоли (console sockets) экземпляров —
<run-dir>/<имя_приложения>.<имя_экземпляра>.control
. - Notify-сокеты экземпляров —
<run-dir>/<имя_приложения>.<имя_экземпляра>.pid
.
В директории для данных (--data-dir
) находятся рабочие директории экземпляров.
Рабочая директория каждого экземпляра имеет следующий путь: <data-dir>/<имя_приложения>.<имя_экземпляра>
.
В директории журналов (--log-dir
) хранятся журналы экземпляров, работающих в фоновом режиме. Директория создается командой cartridge start -d
и используется командой cartridge log
.
Имя файла журнала формируется так: <log-dir>/<имя_приложения>.<имя_журнала>.log
.
В файле --cfg
можно конфигурировать экземпляры Cartridge. Этот файл передается всем экземплярам через переменную окружения TARANTOOL_CFG
. Более подробную информацию см. в руководстве по конфигурации.
Пример:
myapp.router:
advertise_uri: localhost:3301
http_port: 8081
myapp.s1-master:
advertise_uri: localhost:3302
http_port: 8082
myapp-stateboard:
listen: localhost:3310
password: passwd