Пути к файлам экземпляров
Обращаясь к запущенным экземплярам, команды вычисляют пути к файлам, связанным с этими экземплярами. Такие пути определяются для каждого экземпляра при его запуске. Они необходимы, например, для просмотра журналов или подключения к экземпляру через сокет консоли (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