我在我的 Rails 应用程序中集成了一些非 Rails 模型表。一切都很顺利,我设置模型的方式是:
class Change < ActiveRecord::Base
establish_connection(ActiveRecord::Base.configurations["otherdb_#{RAILS_ENV}"])
set_table_name "change"
end
这样我就可以将Change
模型用于所有现有记录find
等。
现在我想在将记录添加到表时运行某种通知。由于模型永远不会通过创建Change.new
,因此Change.save
使用ActiveRecord::Observer
不是一种选择。
每当添加新记录时,有什么方法可以让我的一些 Rails 代码被执行?我看了看,delayed_job
但无法完全理解,如何设置。我想它是围绕一个 cron-job 发展的,它选择自上次运行作业以来创建的所有行,然后为每一行调用相应的 Rails 代码。
更新目前正在查看 Javan 的When,看起来它可以解决“从 cron 部分运行 rails 代码”。