Monitor database table for external changes from within Rails application
Posted
by jhwist
on Stack Overflow
See other posts from Stack Overflow
or by jhwist
Published on 2010-04-01T12:23:11Z
Indexed on
2010/04/02
19:53 UTC
Read the original article
Hit count: 302
I'm integrating some non-rails-model tables in my Rails application. Everything works out very nicely, the way I set up the model is:
class Change < ActiveRecord::Base
establish_connection(ActiveRecord::Base.configurations["otherdb_#{RAILS_ENV}"])
set_table_name "change"
end
This way I can use the Change
model for all existing records with find
etc.
Now I'd like to run some sort of notification, when a record is added to the table. Since the model never gets created via Change.new
and Change.save
using ActiveRecord::Observer
is not an option.
Is there any way I can get some of my Rails code to be executed, whenever a new record is added? I looked at delayed_job
but can't quite get my head around, how to set that up. I imagine it evolves around a cron-job, that selects all rows that where created since the job last ran and then calls the respective Rails code for each row.
© Stack Overflow or respective owner