archives/gitlab-foss: new aport
This commit is contained in:
parent
f14a5a5221
commit
3064418658
15 changed files with 1142 additions and 0 deletions
76
archives/gitlab-foss/gitlab.sidekiq.initd
Normal file
76
archives/gitlab-foss/gitlab.sidekiq.initd
Normal file
|
@ -0,0 +1,76 @@
|
|||
#!/sbin/openrc-run
|
||||
|
||||
extra_started_commands="finish"
|
||||
|
||||
name="GitLab Sidekiq"
|
||||
description="GitLab backgroud workers"
|
||||
description_finish="Stop fetching new jobs and finish current ones"
|
||||
|
||||
: ${gitlab_base:="/usr/lib/bundles/gitlab"}
|
||||
: ${metrics_dir:="/dev/shm/gitlab"}
|
||||
|
||||
: ${sidekiq_logfile:="/var/log/gitlab/sidekiq.log"}
|
||||
: ${sidekiq_memkiller_max_rss:="2000"} # default per Omnibus
|
||||
: ${sidekiq_metrics_dir:="$metrics_dir/sidekiq"}
|
||||
: ${sidekiq_negate:="no"}
|
||||
: ${sidekiq_queue_groups:="*"}
|
||||
: ${sidekiq_queue_selector:="no"}
|
||||
|
||||
command="$gitlab_base/bin/sidekiq-cluster"
|
||||
# Note: The rest of the options is set in start_pre().
|
||||
command_args="-r $gitlab_base -e production ${command_args:-}"
|
||||
command_background="yes"
|
||||
command_user="git"
|
||||
|
||||
directory="$gitlab_base"
|
||||
error_log="$sidekiq_logfile"
|
||||
output_log="$sidekiq_logfile"
|
||||
|
||||
supervise_daemon_args="
|
||||
--env RAILS_ENV=production
|
||||
--env NODE_ENV=production
|
||||
--env EXECJS_RUNTIME=Disabled
|
||||
--env TZ=:/etc/localtime
|
||||
--env SIDEKIQ_MEMORY_KILLER_MAX_RSS=$(( sidekiq_memkiller_max_rss * 1024 ))
|
||||
--env prometheus_multiproc_dir=$sidekiq_metrics_dir
|
||||
"
|
||||
start_stop_daemon_args="--interpreted $supervise_daemon_args"
|
||||
pidfile="/run/gitlab/sidekiq.pid"
|
||||
|
||||
depend() {
|
||||
need redis
|
||||
use net postgresql
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
yesno "$sidekiq_queue_selector" && command_args="$command_args --queue-selector"
|
||||
|
||||
command_args="$command_args
|
||||
$(optif --max-concurrency ${sidekiq_max_concurrency:-})
|
||||
$(optif --min-concurrency ${sidekiq_min_concurrency:-})
|
||||
$(optif --interval ${sidekiq_interval:-})
|
||||
$(optif --timeout ${sidekiq_shutdown_timeout:-})
|
||||
$(set -f; printf "'%s' " $sidekiq_queue_groups)
|
||||
"
|
||||
yesno "$sidekiq_negate" && command_args="$command_args --negate"
|
||||
|
||||
checkpath -d -m 755 -o $command_user -q "${pidfile%/*}" || return 1
|
||||
checkpath -d -m 700 -o $command_user -q "$metrics_dir" || return 1
|
||||
checkpath -d -m 700 -o $command_user --directory-truncate "$sidekiq_metrics_dir" || return 1
|
||||
checkpath -f -m 644 -o $command_user "$sidekiq_logfile"
|
||||
}
|
||||
|
||||
finish() {
|
||||
ebegin "Telling $name to stop fetching new jobs"
|
||||
|
||||
if [ "$supervisor" ]; then
|
||||
$supervisor "$RC_SVCNAME" --signal TSTP
|
||||
else
|
||||
start-stop-daemon --pidfile "$pidfile" --signal TSTP
|
||||
fi
|
||||
eend $?
|
||||
}
|
||||
|
||||
optif() {
|
||||
test -n "$2" && printf '%s/n' "$1=$2" || true
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue