|  | @@ -9,7 +9,7 @@ from celery.exceptions import ImproperlyConfigured
 | 
											
												
													
														|  |  from celery.local import Proxy
 |  |  from celery.local import Proxy
 | 
											
												
													
														|  |  from celery._state import current_app
 |  |  from celery._state import current_app
 | 
											
												
													
														|  |  from celery.five import reraise
 |  |  from celery.five import reraise
 | 
											
												
													
														|  | -from celery.utils.imports import symbol_by_name
 |  | 
 | 
											
												
													
														|  | 
 |  | +from celery.utils.imports import load_extension_class_names, symbol_by_name
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  __all__ = ['get_backend_cls', 'get_backend_by_url']
 |  |  __all__ = ['get_backend_cls', 'get_backend_by_url']
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -39,11 +39,14 @@ BACKEND_ALIASES = {
 | 
											
												
													
														|  |  default_backend = Proxy(lambda: current_app.backend)
 |  |  default_backend = Proxy(lambda: current_app.backend)
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -def get_backend_cls(backend=None, loader=None):
 |  | 
 | 
											
												
													
														|  | 
 |  | +def get_backend_cls(backend=None, loader=None,
 | 
											
												
													
														|  | 
 |  | +                    extension_namespace='celery.result_backends'):
 | 
											
												
													
														|  |      """Get backend class by name/alias"""
 |  |      """Get backend class by name/alias"""
 | 
											
												
													
														|  |      backend = backend or 'disabled'
 |  |      backend = backend or 'disabled'
 | 
											
												
													
														|  |      loader = loader or current_app.loader
 |  |      loader = loader or current_app.loader
 | 
											
												
													
														|  |      aliases = dict(BACKEND_ALIASES, **loader.override_backends)
 |  |      aliases = dict(BACKEND_ALIASES, **loader.override_backends)
 | 
											
												
													
														|  | 
 |  | +    aliases.update(
 | 
											
												
													
														|  | 
 |  | +        load_extension_class_names(extension_namespace) or {})
 | 
											
												
													
														|  |      try:
 |  |      try:
 | 
											
												
													
														|  |          cls = symbol_by_name(backend, aliases)
 |  |          cls = symbol_by_name(backend, aliases)
 | 
											
												
													
														|  |      except ValueError as exc:
 |  |      except ValueError as exc:
 |