2

現在、sqlalchemy を使用してデータベースに接続するアプリケーションを開発しています。このアイデアは、同じデータベースを使用して、アプリケーションの複数のインスタンスを異なるコンピューターで実行することで構成されています。コミットされたアプリケーションのすべてのインスタンスで、データベースの変更を確認できるようにしたいと考えています。現在、sqlalchemy イベント インターフェイスを使用していますが、アプリケーションの複数の同時インスタンスがあると機能しません。インスタンスの 1 つで何かを変更しましたが、他のインスタンスではシグナルが送信されません。

4

1 に答える 1

0

あなたは、SQLAlchemy のイベント インターフェイスを使用していますが、それは RDBMS のものではなく、SQLAlchemy はその DB に接続されている他のインスタンスと通信しません。

SQLAlchemy のイベント システムは、独自のプロセスで関数を呼び出します。この関数がネットワークを介して (またはそれらが接続されている方法で) 残りの部分に信号を送信するようにするのは、あなた次第です。SQLAlchemy に関する限り、データベースに接続されている他のインスタンスについては知りません。

そのため、データベースを実行しているマシンで別のサーバーを起動し、他のすべてのサーバーがそれをリッスンするようにし、それに応じて行動することをお勧めします。

それが役に立てば幸い。

于 2012-05-15T13:50:27.680 に答える