2

我正在使用带有 rufus-scheduler gem 的 Rails3(Windows,Ruby 1.8.7)。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

...但使用标准 rake 任务 *in my_own_tasks* 会引发相同的错误。

一些帮助将不胜感激

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

4

1 回答 1

4

也许有人需要解决方案:

system("rake namespace:task")

费:

system("rake db:version")
于 2011-11-14T12:59:46.087 回答