Files
prmcp/openrc/init.d/prain
T

34 lines
991 B
Plaintext
Executable File

#!/sbin/openrc-run
# One service of the prain stack, picked by the link name: prain.vllm, prain.web, ...
# What it runs comes from prain.conf (`prain run NAME`); supervision settings from
# conf.d/prain.NAME (respawn_max, respawn_period, respawn_delay).
stack_name=${RC_SVCNAME#prain.}
description="prain stack: ${stack_name}"
supervisor=supervise-daemon
command=${prain_bin:-$HOME/.local/bin/prain}
command_args="run ${stack_name}"
respawn_delay=${respawn_delay:-5}
respawn_max=${respawn_max:-3}
respawn_period=${respawn_period:-600}
output_log=${XDG_STATE_HOME:-$HOME/.local/state}/prain/${stack_name}.log
error_log=${output_log}
depend() {
need $("${prain_bin:-$HOME/.local/bin/prain}" need "${RC_SVCNAME#prain.}")
}
start_pre() {
if [ "${RC_SVCNAME}" = prain ]; then
eerror "Start a link to this script, like prain.vllm"
return 1
fi
checkpath -d "${output_log%/*}"
}
start_post() {
ebegin "Waiting until ${stack_name} is ready"
"${command}" wait "${stack_name}"
eend $?
}