Cap развертывание создает дубликаты единорогов - PullRequest
0 голосов
/ 26 января 2012

У меня есть следующие задачи в моем deploy.rb

namespace :unicorn do
  desc "stop unicorn"
  task :stop, :roles => :app, :except => { :no_release => true } do
    run "#{try_sudo} kill `cat #{unicorn_pid}`"
  end 
  desc "start unicorn"
  task :start, :roles => :app, :except => { :no_release => true } do
    run "cd #{current_path} && #{try_sudo} unicorn -c #{current_path}/config/unicorn.rb -E #{rails_env} -D"
  end
  task :reload, :roles => :app, :except => { :no_release => true } do
    run "#{try_sudo} kill -s USR2 `cat #{unicorn_pid}`"
  end

  after "deploy:restart", "unicorn:reload"
end

Когда я запускаю единорог: запуск или единорог: перезагрузка задач с моей машины разработки, на сервере все выглядит нормально:

$ ps aux | grep unicorn
myuser   8196 77.9 12.2  81020 62748 ?        Sl   19:18   0:14 unicorn master -c /home/myuser/www/myapp/current/config/unicorn.rb -E production -D                                                                                       
myuser   8216  0.0 11.5  81020 59232 ?        Sl   19:18   0:00 unicorn worker[0] -c /home/myuser/www/myapp/current/config/unicorn.rb -E production -D

Однако, когда я запускаю полноценное cap deploy , я получаю несколько экземпляров сервера единорога, что чертовски смешивает nginx.

$ ps aux | grep unicorn
myuser   8196  4.4 12.2  81020 62764 ?        Sl   19:18   0:14 unicorn master (old) -c /home/myuser/www/myapp/current/config/unicorn.rb -E production -D                                                                                 
myuser   8216  1.1 13.2  87868 67764 ?        Sl   19:18   0:03 unicorn worker[0] -c /home/myuser/www/myapp/current/config/unicorn.rb -E production -D                                                                                    
myuser   8362  5.8 12.8  83448 65408 ?        Sl   19:19   0:16 unicorn master -c /home/myuser/www/myapp/current/config/unicorn.rb -E production -D                                                                                       
myuser   8385  0.0 12.1  83712 61980 ?        Sl   19:19   0:00 unicorn worker[0] -c /home/myuser/www/myapp/current/config/unicorn.rb -E production -D

Понятия не имею, почему единорог: перезагрузка раскручивает эти дубликаты при развертывании. Очевидно это не останавливает предыдущего мастера / рабочего. Мне нужно дважды запустить задачу единорог: остановить , затем единорог: запустить еще раз, чтобы устранить проблему

Кто-нибудь еще сталкивался с этим? Я часами ткнул в это без всякой удачи

1 Ответ

0 голосов
/ 30 января 2012

Похоже, что проблема была в установке единорога.Я обстрелял свои драгоценные камни и восстановил, и теперь все сладко.Версия Unicorn такая же, поэтому она все еще остается загадкой, но, по крайней мере, она работает сейчас

...