B Seven
B Seven

Reputation: 45943

How to implement rufus-scheduler in Rails?

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

Upvotes: 4

Views: 4398

Answers (1)

Shreyas
Shreyas

Reputation: 8757

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

Upvotes: 12

Related Questions