2012-01-26 100 views
0

我在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 

然而,當我運行一個完整的帽部署我得到麒麟服務器,它混淆了地獄鄰多個實例ut的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 

我不知道爲什麼麒麟:重裝上部署旋轉起來,這些重複的實例。顯然它並沒有停止以前的主人/工人。我必須運行麒麟:停止任務兩次,然後麒麟:再次啓動

其他人遇到糾正問題到這一點?我一直在捅它幾個小時沒有任何運氣

+0

好吧,我剛剛注意到一些可疑的東西。當我運行重新加載任務時,另一個進程被添加到組合中(並且我的pid文件被更新) 爲了清晰起見,您可以在這裏查看它:** http://pastie.textmate.org/3258997** 當我運行**獨角獸時,這個過程不存在:開始**,只有**獨角獸:重新加載**。我相信這是因爲pid文件改變並且kill命令不能再關閉主麒麟的罪魁禍首。 該死的我好親近!可能只是睡在這一個。 –

回答

0

所以它看起來像這個問題是一個錯誤的獨角獸安裝。我毀掉了我的寶石並重新磨合,現在一切都很美好。獨角獸的版本是一樣的,所以它仍然有點神祕,但至少現在正在工作