我有兩個連接到同一個數據庫的應用程序。在連接到數據庫的所有應用程序上調用鉤子
我寫了一個數據庫掛鉤,像這樣:
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