2012-02-17 56 views
2

我有我的rails站點部署在apache下。 Apache作爲一項服務運行。現在我已經添加了delayed_job,並且事情很好。Rails 3 delayed_job重啓後啓動

現在我想與apache一起啓動工作,例如,重新啓動服務器後,我的站點和工作人員已準備就緒,因此我不必登錄並鍵入「sudo RAILS_ENV =生產腳本/ delayed_job - n 2開始「。

的另一個問題是,每當我要開始我的delayed_job必須使用「命令」 ...

任何想法如何避免這些問題,2?

感謝您的幫助。

回答

3

使用whenever gem和其「每個:重啓」功能。在schedule.rb中:

environment = ENV['RAILS_ENV'] || 'production' 
every :reboot do 
    command "cd #{path} && #{environment_variable}=#{environment} bin/delayed_job --pool=queue1:2, --pool=queue2,queue3:1 restart" 
end 
1

你可以創建一個shell腳本來執行你需要的命令嗎?

#!/bin/sh 

# stop delayed job 

# restart apache 
apachectl restart 

# start delayed job 
sudo RAILS_ENV=production script/delayed_job -n 2 start