Ich habe zwei Anwendungen, die sich mit derselben Datenbank verbinden.Aufrufe von allen Anwendungen, die mit einer Datenbank verbunden sind
ich eine Datenbank Haken wie so geschrieben haben:
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
Und das wird auszudrucken der Datensatz einmal Attribute es erstellt wird.
Wenn ich dies genau die gleichen Haken in zwei Anwendungen definiert haben (und sie verbinden beide auf die gleiche Datenbank), kann ich es auf beiden Anwendungen zu laufen, wenn ein von ihnen einen Datensatz einfügt?
Ich denke an die Verwendung von Pusher, aber ich frage mich, ob es eine Möglichkeit gibt, es mit Datamapper oder ActiveRecord allein zu tun.
Ich verwende hier DataMapper und SQLite3, könnte aber bei Bedarf zu einem anderen ORM/db wechseln.
Danke für diesen Vorschlag. Ich arbeite gerade daran, Faye hinzuzufügen. –
Da eine meiner Anwendungen ein Befehlszeilenskript ist, habe ich den Nachrichtenbusserver übersprungen und Daten über stdin/stdout übergeben. Faye arbeitete nicht und Rabbitmq scheint ein wenig zu stark für diese Projekte benötigt –
Ich wäre vorsichtig mit stdin/stdout als Nachrichtenbus, wie sie Betriebssystemebene sind. Sie könnten einige böse Cross-Plattform-Probleme aufdecken. Hast du über Zero MQ nachgedacht? Sie können Nachrichten direkt weitergeben, ohne dass ein einziger Server als Bus fungiert. – Stewart