Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 733
B Seven Avatar asked Dec 16 '22 13:12

B Seven


1 Answers

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
like image 197
Shreyas Avatar answered Dec 19 '22 02:12

Shreyas