2011-11-08 38 views
2

我正在使用Rails3(Windows,Ruby 1.8.7)和rufus-scheduler gem。创业板工作正常,但如果我试图运行标准rake任务,出现错误:rufus调度程序失败,使用rake任务(不知道如何构建任务)

Don't know how to build task 'db:version' # ofc, db:version is just example 

终端命令

rake -T 

工作

如果我试图定义自己的简单耙子命令,它们也可以正常工作:

# /lib/my_scheduler.rb 
require 'rubygems' 
require 'rake' 
require 'rufus/scheduler' 
load File.join(Rails.root, 'lib', 'tasks', 'my_own_tasks.rake') 

scheduler = Rufus::Scheduler.start_new 

scheduler.every '5s' do 
    Rake::Task["my_own_namespace:test"].invoke 
end 
end 

# /lib/tasks/my_own_tasks.rb 
namespace :my_own_namespace do 
    task :test do 
    puts "Some scheduler task" 
    end 
end 

...但在my_own_tasks中使用标准rake任务*会抛出s艾姆错误。

一些帮助,将不胜感激

PS。我是新手,很抱歉,如果这是愚蠢的问题

回答

4

也许有人会需要的解决方案:

system("rake namespace:task") 

FE:

system("rake db:version") 
+0

你不必要求任务这在所有办法。由于您正在打电话给系统。 – joseramonc

相关问题