rufus-scheduler因rake任务失败(不知道如何构建任务)

时间:2011-11-08 11:00:20

标签: ruby-on-rails ruby ruby-on-rails-3 rake rufus-scheduler

我正在使用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。我是新手,很抱歉,如果这是一个愚蠢的问题

1 个答案:

答案 0 :(得分:4)

也许有人需要解决方案:

system("rake namespace:task")

f.e:

system("rake db:version")