Use 'exec' in Unicorn and Sidekiq launch scripts

When running Unicorn or Sidekiq in the foreground this change removes
an intermediate /bin/sh process. This makes process supervision in the
GitLab Development Kit more reliable.

This change does not affect Omnibus-GitLab (because there we do not
use these launch scripts). Installations from source do use the launch
scripts but for the standard GitLab init script this change will not
make a difference.

Custom installations using Upstart or Systemd may be affected however,
because under certain configurations these systems count exactly how
many forks happen during process startup, and we are reducing that
number by one here.
This commit is contained in:
Jacob Vosmaer 2016-04-28 12:11:08 +02:00
parent f127edd012
commit 8a6776caa9
2 changed files with 3 additions and 3 deletions

View File

@ -37,7 +37,7 @@ start_no_deamonize()
start_sidekiq()
{
bundle exec sidekiq -q post_receive -q mailers -q archive_repo -q system_hook -q project_web_hook -q gitlab_shell -q incoming_email -q runner -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile "$@"
exec bundle exec sidekiq -q post_receive -q mailers -q archive_repo -q system_hook -q project_web_hook -q gitlab_shell -q incoming_email -q runner -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile "$@"
}
load_ok()

View File

@ -19,12 +19,12 @@ get_unicorn_pid()
start()
{
$unicorn_cmd -D
exec $unicorn_cmd -D
}
start_foreground()
{
$unicorn_cmd
exec $unicorn_cmd
}
stop()