pymongo を使用して大規模なデータ更新を実行しています。更新を実行するには、個々のレコードが を使用して検索されcollection.find_one(unique criteria)
、変更が行われ、更新がバッチ処理され、最後に を使用してチャンクで送信されます。db.collection.save([long list of records to save])
私のローカル マシン (1.6.3 を実行) では、インポートは正常に機能します。
ローカル マシンよりもはるかに高速なリモート サーバー (1.6.0 を実行) では、挿入の一部を問題なく処理できますが、元のレコードを検索すると、突然次のエラーが発生します。
connection = Connection(...)
...
raise AutoReconnect("could not find master/primary")
pymongo.errors.AutoReconnect: could not find master/primary
通過できるレコードの数は多少異なりますが、ランダムではありません。
最初は、接続制限に達していると思いました。レコードを検索するたびに手動で接続を閉じ始めました。
collection.database.connection.disconnect()
これは問題を解決しませんでした。私は正しい軌道に乗っていますか?