|
@@ -315,7 +315,8 @@ class Celery(object):
|
|
|
def connection(self, hostname=None, userid=None, password=None,
|
|
|
virtual_host=None, port=None, ssl=None,
|
|
|
connect_timeout=None, transport=None,
|
|
|
- transport_options=None, heartbeat=None, **kwargs):
|
|
|
+ transport_options=None, heartbeat=None,
|
|
|
+ login_method=None, failover_strategy=None, **kwargs):
|
|
|
conf = self.conf
|
|
|
return self.amqp.Connection(
|
|
|
hostname or conf.BROKER_URL,
|
|
@@ -325,12 +326,18 @@ class Celery(object):
|
|
|
port or conf.BROKER_PORT,
|
|
|
transport=transport or conf.BROKER_TRANSPORT,
|
|
|
ssl=self.either('BROKER_USE_SSL', ssl),
|
|
|
- connect_timeout=self.either(
|
|
|
- 'BROKER_CONNECTION_TIMEOUT', connect_timeout),
|
|
|
heartbeat=heartbeat,
|
|
|
- login_method=self.either('BROKER_LOGIN_METHOD', None),
|
|
|
- transport_options=dict(conf.BROKER_TRANSPORT_OPTIONS,
|
|
|
- **transport_options or {}))
|
|
|
+ login_method=login_method or self.app.conf.BROKER_LOGIN_METHOD,
|
|
|
+ failover_strategy=(
|
|
|
+ failover_strategy or conf.BROKER_FAILOVER_STRATEGY
|
|
|
+ ),
|
|
|
+ transport_options=dict(
|
|
|
+ conf.BROKER_TRANSPORT_OPTIONS, **transport_options or {}
|
|
|
+ ),
|
|
|
+ connect_timeout=self.either(
|
|
|
+ 'BROKER_CONNECTION_TIMEOUT', connect_timeout
|
|
|
+ ),
|
|
|
+ )
|
|
|
broker_connection = connection
|
|
|
|
|
|
@contextmanager
|