我有两个连接到同一个数据库的应用程序。在连接到数据库的所有应用程序上调用钩子
我写了一个数据库挂钩,像这样:
def call_side_effect(record)
puts record
# my application actually does something more complicated here
end
class Verb
include DataMapper::Resource
property :id, Serial
property :name, String
before(:save) { |record| call_side_effect(record) }
end
,这将打印出一旦它创建记录属性。
如果我有两个应用程序(它们都连接到同一个数据库)中定义此完全相同挂钩,我可以得到它的两个的应用程序时,其中一个插入一条记录运行?
我在想使用Pusher,但我想知道是否有一种方法可以使用Datamapper或ActiveRecord自行完成。
我在这里使用DataMapper和SQLite3,但如果需要可以切换到不同的ORM/db。
感谢您的建议。我正在努力添加Faye。 –
由于我的一个应用程序是一个命令行脚本,我最终跳过了消息总线服务器并通过stdin/stdout传递数据。 Faye没有工作,rabbitmq似乎有点太重,因为这个项目需要 –
因为他们是操作系统级别,所以我会谨慎使用stdin/stdout作为消息总线。你可以发现一些讨厌的跨平台问题。你有没有考虑过零MQ?您可以直接传递消息,而只需将一台服务器用作总线。 – Stewart