Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
6a7d63aa
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6a7d63aa
编写于
10月 09, 2013
作者:
J
Jacob Vosmaer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move unicorn and sidekiq commands into bash script
上级
7c4db532
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
118 addition
and
27 deletion
+118
-27
lib/support/init.d/gitlab
lib/support/init.d/gitlab
+6
-7
lib/tasks/sidekiq.rake
lib/tasks/sidekiq.rake
+7
-20
script/background_jobs
script/background_jobs
+56
-0
script/web
script/web
+49
-0
未找到文件。
lib/support/init.d/gitlab
浏览文件 @
6a7d63aa
...
...
@@ -22,7 +22,6 @@ RAILS_ENV="production"
# /bin/sh variables such as PATH, EDITOR or SHELL.
app_root
=
"/home/git/gitlab"
app_user
=
"git"
unicorn_conf
=
"
$app_root
/config/unicorn.rb"
pid_path
=
"
$app_root
/tmp/pids"
socket_path
=
"
$app_root
/tmp/sockets"
web_server_pid_path
=
"
$pid_path
/unicorn.pid"
...
...
@@ -129,7 +128,7 @@ start() {
# Remove old socket if it exists
rm
-f
"
$socket_path
"
/gitlab.socket 2>/dev/null
# Start the webserver
bundle
exec
unicorn_rails
-D
-c
"
$unicorn_conf
"
-E
"
$RAILS_ENV
"
RAILS_ENV
=
$RAILS_ENV
script/web start
fi
# If sidekiq is already running, don't start it again.
...
...
@@ -137,7 +136,7 @@ start() {
echo
"The Sidekiq job dispatcher is already running with pid
$spid
, not restarting"
else
echo
"Starting the GitLab Sidekiq event dispatcher..."
RAILS_ENV
=
$RAILS_ENV
bundle
exec
rake sidekiq:
start
RAILS_ENV
=
$RAILS_ENV
script/background_jobs
start
# We are sleeping a bit here because sidekiq is slow at writing it's pid
sleep
2
fi
...
...
@@ -151,7 +150,7 @@ stop() {
exit_if_not_running
# If the Unicorn web server is running, tell it to stop;
if
[
"
$web_status
"
=
"0"
]
;
then
kill
-QUIT
"
$wpid
"
RAILS_ENV
=
$RAILS_ENV
script/web stop
echo
"Stopping the GitLab Unicorn web server..."
stopping
=
true
else
...
...
@@ -160,7 +159,7 @@ stop() {
# And do the same thing for the Sidekiq.
if
[
"
$sidekiq_status
"
=
"0"
]
;
then
printf
"Stopping Sidekiq job dispatcher."
RAILS_ENV
=
$RAILS_ENV
bundle
exec
rake sidekiq:
stop
RAILS_ENV
=
$RAILS_ENV
script/background_jobs
stop
stopping
=
true
else
echo
"The Sidekiq was not running, must have run out of breath."
...
...
@@ -215,10 +214,10 @@ reload(){
exit
1
fi
printf
"Reloading GitLab Unicorn configuration... "
kill
-USR2
"
$wpid
"
RAILS_ENV
=
$RAILS_ENV
script/web reload
echo
"Done."
echo
"Restarting GitLab Sidekiq since it isn't capable of reloading its config..."
RAILS_ENV
=
$RAILS_ENV
bundle
exec
rake sidekiq:
restart
RAILS_ENV
=
$RAILS_ENV
script/background_jobs
restart
# Waiting 2 seconds for sidekiq to write it.
sleep
2
status
...
...
lib/tasks/sidekiq.rake
浏览文件 @
6a7d63aa
namespace
:sidekiq
do
desc
"GITLAB | Stop sidekiq"
task
:stop
do
system
"
bundle exec sidekiqctl stop
#{
pidfile
}
"
system
"
script/background_jobs stop
"
end
desc
"GITLAB | Start sidekiq"
task
:start
=>
:restart
desc
"GITLAB | Start sidekiq"
do
system
"script/background_jobs start"
end
desc
'GitLab | Restart sidekiq'
task
:restart
do
if
File
.
exist?
(
pidfile
)
puts
'Shutting down existing sidekiq process.'
Rake
::
Task
[
'sidekiq:stop'
].
invoke
puts
'Starting new sidekiq process.'
end
system
"bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e
#{
Rails
.
env
}
-P
#{
pidfile
}
-d -L
#{
log_file
}
>>
#{
log_file
}
2>&1"
desc
'GitLab | Restart sidekiq'
do
system
"script/background_jobs restart"
end
desc
"GITLAB | Start sidekiq with launchd on Mac OS X"
task
:launchd
do
system
"bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e
#{
Rails
.
env
}
-P
#{
pidfile
}
>>
#{
log_file
}
2>&1"
end
def
pidfile
Rails
.
root
.
join
(
"tmp"
,
"pids"
,
"sidekiq.pid"
)
end
def
log_file
Rails
.
root
.
join
(
"log"
,
"sidekiq.log"
)
system
"script/background_jobs start_no_deamonize"
end
end
script/background_jobs
0 → 100755
浏览文件 @
6a7d63aa
#!/bin/bash
cd
$(
dirname
$0
)
/..
app_root
=
$(
pwd
)
sidekiq_pidfile
=
"
$app_root
/tmp/pids/sidekiq.pid"
sidekiq_logfile
=
"
$app_root
/log/sidekiq.log"
gitlab_user
=
$(
ls
-l
config.ru |
awk
'{print $3}'
)
function
stop
{
bundle
exec
sidekiqctl stop
$sidekiq_pidfile
&>>
$sidekiq_logfile
}
function
killall
{
pkill
-u
$gitlab_user
-f
sidekiq
}
function
restart
{
if
[
-f
$sidekiq_pidfile
]
;
then
stop
fi
killall
start_sidekiq
-d
-L
$sidekiq_logfile
}
function
start_no_deamonize
{
start_sidekiq
}
function
start_sidekiq
{
bundle
exec
sidekiq
-q
post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default
-e
$RAILS_ENV
-P
$sidekiq_pidfile
$@
&>>
$sidekiq_logfile
}
case
"
$1
"
in
stop
)
stop
;;
start
)
restart
;;
start_no_deamonize
)
start_no_deamonize
;;
restart
)
restart
;;
killall
)
killall
;;
*
)
echo
"Usage: RAILS_ENV=your_env
$0
{stop|start|start_no_deamonize|restart|killall}"
esac
script/web
0 → 100755
浏览文件 @
6a7d63aa
#!/bin/bash
cd
$(
dirname
$0
)
/..
app_root
=
$(
pwd
)
unicorn_pidfile
=
"
$app_root
/tmp/pids/unicorn.pid"
unicorn_config
=
"
$app_root
/config/unicorn.rb"
function
get_unicorn_pid
{
local
pid
=
$(
cat
$unicorn_pidfile
)
if
[
-z
$pid
]
;
then
echo
"Could not find a PID in
$unicorn_pidfile
"
exit
1
fi
unicorn_pid
=
$pid
}
function
start
{
bundle
exec
unicorn_rails
-D
-c
$unicorn_config
-E
$RAILS_ENV
}
function
stop
{
get_unicorn_pid
kill
-QUIT
$unicorn_pid
}
function
reload
{
get_unicorn_pid
kill
-USR2
$unicorn_pid
}
case
"
$1
"
in
start
)
start
;;
stop
)
stop
;;
reload
)
reload
;;
*
)
echo
"Usage: RAILS_ENV=your_env
$0
{start|stop|reload}"
;;
esac
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录