|
@@ -46,6 +46,7 @@ class MongoBackend(BaseBackend):
|
|
|
mongodb_password = None
|
|
|
mongodb_database = 'celery'
|
|
|
mongodb_taskmeta_collection = 'celery_taskmeta'
|
|
|
+ mongodb_max_pool_size = 10
|
|
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
"""Initialize MongoDB backend instance.
|
|
@@ -78,6 +79,8 @@ class MongoBackend(BaseBackend):
|
|
|
'database', self.mongodb_database)
|
|
|
self.mongodb_taskmeta_collection = config.get(
|
|
|
'taskmeta_collection', self.mongodb_taskmeta_collection)
|
|
|
+ self.mongodb_max_pool_size = config.get(
|
|
|
+ 'max_pool_size', self.mongodb_max_pool_size)
|
|
|
|
|
|
self._connection = None
|
|
|
|
|
@@ -93,11 +96,12 @@ class MongoBackend(BaseBackend):
|
|
|
# This enables the use of replica sets and sharding.
|
|
|
# See pymongo.Connection() for more info.
|
|
|
args = [self.mongodb_host]
|
|
|
+ kwargs = {'max_pool_size': self.mongodb_max_pool_size}
|
|
|
if isinstance(self.mongodb_host, string_t) \
|
|
|
and not self.mongodb_host.startswith('mongodb://'):
|
|
|
args.append(self.mongodb_port)
|
|
|
|
|
|
- self._connection = Connection(*args)
|
|
|
+ self._connection = Connection(*args, **kwargs)
|
|
|
|
|
|
return self._connection
|
|
|
|