https://github.com/celery/kombu/commit/8e6aed9fcf978b6c34108c0d37b720bd125f0352 diff --git a/kombu/tests/transport/test_mongodb.py b/kombu/tests/transport/test_mongodb.py index b4d10fc..58c92e7 100644 --- a/kombu/tests/transport/test_mongodb.py +++ b/kombu/tests/transport/test_mongodb.py @@ -64,12 +64,12 @@ def test_custom_credentials(self): @skip_if_not_module('pymongo') def test_options(self): - url = 'mongodb://localhost,localhost2:29017/dbname?safe=true' + url = 'mongodb://localhost,localhost2:29017/dbname?tz_aware=true' c = self._get_connection(url) hostname, dbname, options = c.channels[0]._parse_uri() - self.assertEqual(options['safe'], True) + self.assertEqual(options['tz_aware'], True) @skip_if_not_module('pymongo') def test_real_connections(self): diff --git a/kombu/transport/mongodb.py b/kombu/transport/mongodb.py index 9137132..40b00ff 100644 --- a/kombu/transport/mongodb.py +++ b/kombu/transport/mongodb.py @@ -176,9 +176,14 @@ def _parse_uri(self, scheme='mongodb://'): return hostname, dbname, options + def _prepare_client_options(self, options): + if pymongo.version_tuple >= (3, ): + options.pop('auto_start_request', None) + def _open(self, scheme='mongodb://'): hostname, dbname, options = self._parse_uri(scheme=scheme) + self._prepare_client_options(options) mongoconn = MongoClient( host=hostname, ssl=options['ssl'], auto_start_request=options['auto_start_request'],