terminate unicorn procs on deploy
This commit is contained in:
3
Capfile
3
Capfile
@@ -12,6 +12,3 @@ require 'capistrano3/unicorn'
|
|||||||
|
|
||||||
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
|
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
|
||||||
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }
|
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }
|
||||||
|
|
||||||
after "deploy:published", "unicorn:terminate"
|
|
||||||
after "deploy:published", "unicorn:start"
|
|
||||||
|
|||||||
@@ -2,15 +2,10 @@ namespace :unicorn do
|
|||||||
desc "Terminate unicorn processes (blocks until complete)"
|
desc "Terminate unicorn processes (blocks until complete)"
|
||||||
task :terminate do
|
task :terminate do
|
||||||
on roles(:app) do
|
on roles(:app) do
|
||||||
n = 0
|
execute "[[ -n $(pgrep -f unicorn) ]] && pgrep -f unicorn | xargs kill -SIGTERM"
|
||||||
while n < 10 && !capture("pgrep -f unicorn").blank?
|
|
||||||
execute "pgrep -f unicorn | xargs -SIGTERM"
|
|
||||||
n += 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if n == 10
|
|
||||||
execute "pgrep -f unicorn | xargs -SIGKILL"
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
after "deploy:published", "unicorn:terminate"
|
||||||
|
after "deploy:published", "unicorn:start"
|
||||||
|
|||||||
Reference in New Issue
Block a user