質問

I'm using Rails3 (Windows, Ruby 1.8.7) with rufus-scheduler gem. Gem works fine, but if I'm trying to run some standard rake task, error occurs:

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

Terminal command

rake -T

works

If I'm trying to define own simple rake commands, they works fine too:

# /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

... but using standard rake tasks *in my_own_tasks* throws the same error.

Some help would be appreciated

PS. I'm newbie, so sorry, if that was dumb question

役に立ちましたか?

解決

Maybe someone will need solution:

system("rake namespace:task")

f.e:

system("rake db:version")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top