I
Size: a a a
DK
DK
MK
% cat .cartridge.yml
cfg: local-instances.yml
script: init.lua
stateboard: true
data-dir: tmp/my-data
log-dir: tmp/my-log
MK
MK
def start(self, project, instances=[], daemonized=False, stateboard=False, stateboard_only=False,
cfg=None, script=None, run_dir=None, data_dir=None, log_dir=None, timeout=None,
capture_output=False, exp_rc=0):
cmd = [self._cartridge_cmd, 'start']
if daemonized:
cmd.append('-d')
if stateboard:
cmd.append('--stateboard')
if stateboard_only:
cmd.append('--stateboard-only')
if timeout is not None:
cmd.extend(['--timeout', timeout])
if cfg is not None:
cmd.extend(['--cfg', cfg])
if script is not None:
cmd.extend(['--script', script])
if run_dir is not None:
cmd.extend(['--run-dir', run_dir])
if data_dir is not None:
cmd.extend(['--data-dir', data_dir])
if log_dir is not None:
cmd.extend(['--log-dir', log_dir])
MK
MK
[Unit]
Description=Tarantool Cartridge app myapp@%i
After=network.target
[Service]
Type=simple
ExecStartPre=/bin/sh -c 'mkdir -p /var/lib/tarantool/myapp.%i'
ExecStart=/usr/bin/tarantool /usr/share/tarantool/myapp/init.lua
Restart=on-failure
RestartSec=2
User=tarantool
Group=tarantool
Environment=TARANTOOL_APP_NAME=myapp
Environment=TARANTOOL_WORKDIR=/var/lib/tarantool/myapp.%i
Environment=TARANTOOL_CFG=/etc/tarantool/conf.d
Environment=TARANTOOL_PID_FILE=/var/run/tarantool/myapp.%i.pid
Environment=TARANTOOL_CONSOLE_SOCK=/var/run/tarantool/myapp.%i.control
Environment=TARANTOOL_INSTANCE_NAME=%i
LimitCORE=infinity
# Disable OOM killer
OOMScoreAdjust=-1000
# Increase fd limit for Vinyl
LimitNOFILE=65535
# Systemd waits until all xlogs are recovered
TimeoutStartSec=86400s
# Give a reasonable amount of time to close xlogs
TimeoutStopSec=10s
[Install]
WantedBy=multi-user.target
Alias=myapp.%i
ED