現在、sqlalchemy を使用してデータベースに接続するアプリケーションを開発しています。このアイデアは、同じデータベースを使用して、アプリケーションの複数のインスタンスを異なるコンピューターで実行することで構成されています。コミットされたアプリケーションのすべてのインスタンスで、データベースの変更を確認できるようにしたいと考えています。現在、sqlalchemy イベント インターフェイスを使用していますが、アプリケーションの複数の同時インスタンスがあると機能しません。インスタンスの 1 つで何かを変更しましたが、他のインスタンスではシグナルが送信されません。
1026 次
1 に答える
0
あなたは、SQLAlchemy のイベント インターフェイスを使用していますが、それは RDBMS のものではなく、SQLAlchemy はその DB に接続されている他のインスタンスと通信しません。
SQLAlchemy のイベント システムは、独自のプロセスで関数を呼び出します。この関数がネットワークを介して (またはそれらが接続されている方法で) 残りの部分に信号を送信するようにするのは、あなた次第です。SQLAlchemy に関する限り、データベースに接続されている他のインスタンスについては知りません。
そのため、データベースを実行しているマシンで別のサーバーを起動し、他のすべてのサーバーがそれをリッスンするようにし、それに応じて行動することをお勧めします。
それが役に立てば幸い。
于 2012-05-15T13:50:27.680 に答える