34 lines
991 B
Plaintext
Executable File
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 $?
|
|
}
|