prain front door and OpenRC user service for the prain stack
This commit is contained in:
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/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 $?
|
||||
}
|
||||
Reference in New Issue
Block a user