4

The schedule is running but errors "undefined method 'do_something'". What is not right?

Using rails 3.

In config/initializers/task_scheduler.rb:

require 'rubygems'
require 'rufus/scheduler'  
scheduler = Rufus::Scheduler.start_new
scheduler.every("10s") do
    JobThing.do_something
end

models/job_thing.rb:

class JobThing < ActiveRecord::Base
    def do_something
        puts "something"
    end 
end
Thanks

B Seven
  • 44,484
  • 66
  • 240
  • 385

1 Answers1

12

You're trying to call a class-level method from the task_scheduler when you've actually defined an instance method in your JobThing class. You can define a class method as below :

class JobThing < ActiveRecord::Base
  def self.do_something
    puts "something"
  end
end
Shreyas
  • 8,737
  • 7
  • 44
  • 56