我正在使用Rails3(Windows,Ruby 1.8.7)和rufus-scheduler gem。 Gem工作正常,但如果我试图运行一些标准的rake任务,则会发生错误:
Don't know how to build task 'db:version' # ofc, db:version is just example
终端命令
rake -T
作品
如果我正在尝试定义自己的简单rake命令,它们也可以正常工作:
# /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任务*会引发同样的错误。
一些帮助将不胜感激
PS。我是新手,很抱歉,如果这是一个愚蠢的问题
答案 0 :(得分:4)
也许有人需要解决方案:
system("rake namespace:task")
f.e:
system("rake db:version")