我正在使用rufus調度程序從部署系統中替換cron作業,並在應用程序加載部署時啓動這些作業。Rails依賴於:初始化文件中的環境任務調用rake任務
現在我將這個scheduler.rb放置在應用程序根目錄的config/initializers目錄中。
的scheduler.rb文件的內容如下:
require 'rufus/scheduler'
require 'rubygems'
require 'rake'
load File.join(RAILS_ROOT,'lib','tasks','tempfile.rake')
temp_files_cleaning_scheduler = Rufus::Scheduler.start_new
temp_files_cleaning_scheduler.cron '*/1 * * * *' do
Rake::Task["tempfile:delete_all"].reenable
Rake::Task["tempfile:delete_all"].invoke
end
現在,當我啓動應用程序服務器,我得到錯誤信息如下:
scheduler caught exception :
Don't know how to build task 'environment'
/home/karthik/.rvm/gems/jruby-1.5.2/gems/rake-0.8.7/lib/rake.rb:1728:in `[]'
/home/karthik/.rvm/gems/jruby-1.5.2/gems/rake-0.8.7/lib/rake.rb:605:in `invoke_prerequisites'
,其中「環境」是我調用的任務「tempfile:delete_all」的依賴任務。而這個:環境任務在railties/lib/tasks/misc.rake中定義。
我不想通過硬編碼它的路徑加載這個misc.file。 有沒有更簡單的方法來解決這個問題?
謝謝。
我已經使用rufus,沒有問題,我總是有問題。希望我能幫上忙。 – s84 2011-02-05 06:54:28
去接受一個mofukin的答案,有人會幫助你' – s84 2011-02-05 06:56:26