我正在AWS上運行Rails 3.2.18應用程序。此應用程序使用Capistrano進行部署,包括爲應用程序啓動Resque工作人員。在實例啓動時運行Capistrano命令
我的問題是,AWS可以偶爾重新啓動實例,幾乎沒有任何警告,或者可以從AWS控制檯重新啓動實例。發生這種情況時,Resque不會像我們正常部署過程中那樣啓動。
我試圖在/etc/init.d
中創建一個shell腳本來在啓動時啓動Resque,但此腳本繼續提示輸入密碼,但我不確定我錯過了什麼。啓動腳本的本質是:
/bin/su -l deploy-user -c "/www/apps/deploy-user/current && bundle exec cap <environment> resque:scheduler:start resque:start"
顯然按預期從bash提示符的「部署」用戶的身份運行,但是當通過sudo /etc/init.d/resque start
運行,它在運行的第一個提示輸入密碼上述命令工作Capistrano命令。
有沒有什麼明顯的我失蹤?或者,有沒有更好的方法來實現這一目標?
啊,我複製了一箇舊命令,而不是實際導致問題的那個。我正在使用'-c'標誌,但它仍然不起作用。我已經更新了這個問題。 – CDub 2014-10-01 14:00:40