【发布时间】:2011-02-05 15:02:47
【问题描述】:
我正在使用 rufus 调度程序来替换部署系统中的 cron 作业,并在应用程序在部署时加载时启动这些作业。
现在我将这个 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”的依赖任务。这个 :environment 任务在 railties/lib/tasks/misc.rake 中定义。
我不想通过硬编码路径来加载这个 misc.file。 有没有更简洁的方法来解决这个问题?
谢谢。
【问题讨论】:
-
我用过rufus,没问题,一直有问题。希望我能帮上忙。
-
去接受一个mofukin的答案,有人会帮助你的兄弟'
-
但是说真的,我需要一些声誉,所以你最好在这里帮助每个人,并在我们开始考虑你的问题之前点击检查至少几个答案。
-
只要你知道这很严重,我就是一个想追根究底的人。
-
我不知道这个接受率游戏。特别感谢你帮助我知道该怎么做:)
标签: ruby-on-rails ruby-on-rails-3 jrubyonrails rufus-scheduler