2011-11-14 6 views

答えて

2

Pyramidは、公式のPython MongoDBドライバを使用する必要があります。ドライバはこれを「自動的に」行うように設定されていますが、正しい接続文字列が必要です。

接続文字列については、hereを参照してください。

「自動フェイルオーバー」の定義は明確ではないことに留意してください。

DBへの新しい接続を作成すると、その接続は現在のプライマリを指します。

プールからの既存の接続を使用する場合、その接続が間違ったサーバーを指している可能性があります。この場合、最初に例外がスローされ、2回目に正しいサーバーに接続する必要があります。

しかし、フェールオーバーが発生すると、プライマリがない(、通常2〜10秒の)短いウィンドウが表示されます。この期間中に接続を使用すると、プライマリに接続されることはありません。

これはPythonに固有のものではないことに注意してください。レプリカセットが機能する方法です。

+0

Thanks Gates VP ..私はそれが私を投げていたのは2〜10秒のダウンタイムだったと思う。Pymongoのドキュメントの例も忘れてしまった。乾杯! 2〜10秒で – MFB

+0

@MFB np。正直なところ、MongoDBサイト自体にはっきりと記載されておらず、Python固有のものではありません。彼らはすべて数秒間例外を投げます。厳しいのは最高の行動を決めることです。手動リトライ? 2秒間自動再試行して手動で再試行しますか? –

+0

Pyramid iniファイルの正しい構文を知っていますか? Mongodb URL = mongodb://xx.xx.xx.xx(シングルインスタンスの場合)、レプリカセットはどうですか? – MFB

関連する問題