0

私は現在、分散コンピューティングに取り組んでいます。私のワーカーは結果を mongoDB データベースに挿入して返します。コードは正常に動作しますが、接続が開いたままになり、システムのソケットが不足する瞬間があります。これが私のワーカーコードです:

def worker(elt):
    client=pymongo.MongoClient(MONGODB_URI)
    db = client.get_default_database()
    essaiElt = db['essaiElt']
    #compute here
    essaiElt.insert( elt.toDict())
    client.close()

このコマンド「netstat -anbo」を使用すると、まだ開いているすべてのソケット (3000 以上) を確認できます。ワーカーの最大数は 14 ですが、10 000 以上のタスクを処理する必要があります。

...
TCP 10.130.151.11:4999 10.130.137.128:27017 En attente 0
TCP 10.130.151.11:5000 10.130.137.128:27017 En attente 0

タイムアウトを設定しようとしましたが、効果がありません。

データベースを再起動せずにソケットを閉じるにはどうすればよいですか?

Python 2.7.12 ピモンゴ 3.3 mongoDB 3.2.10

4

1 に答える 1