gpt4 book ai didi

python - pymongo 3 如何仅使用一个套接字连接 MongoDB?

转载 作者:行者123 更新时间:2023-12-01 04:44:24 24 4
gpt4 key购买 nike

我想使用一个套接字以多线程方式连接到 MongoDB。

#-*- encoding:UTF-8 -*-

import datetime
import threading
import time

import pymongo

conn = pymongo.Connection('mongodb://127.0.0.1', auto_start_request=False)

class MyThread(threading.Thread):
def run(self):
print conn['fvck'].damnit.count(), datetime.datetime.now(), self.getName()
time.sleep(10)

with conn.start_request():
for i in range(100):
MyThread().start()

该代码只有一个套接字,PyMongo 的版本是 2.2rc。

Citing the documentation for PyMongo 3 :

The connect option is added.

The start_request, in_request, and end_request methods are removed, as well as the auto_start_request option.

The copy_database method is removed, see the copy_database examples for alternatives.

The MongoClient.disconnect() method is removed; it was a synonym for close().

client  = pymongo.MongoClient("127.0.0.1", 27017, connect=False)

bool connect不起作用。

最佳答案

I want use one socket to connect to MongoDB in Multithreading.

在 PyMongo 3 中,传递 maxPoolSize=1。所有应用程序线程将共享一个套接字。

The boolean connect is not work.

该选项确定 PyMongo 何时与服务器建立初始连接。如果设置为 True(默认值),它将尝试立即连接。如果为 False,则当您的应用程序尝试操作时它会尝试连接。请注意,在 PyMongo 3 中,连接是在后台线程上完成的。

关于python - pymongo 3 如何仅使用一个套接字连接 MongoDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29815714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com