code: def BROKER_URL(self):
          
  
          # also allow specify broker_url
          broker_url = get('BROKER_URL', None)
          if broker_url:
              log.info("Using BROKER_URL setting: {}".format(broker_url))
              return broker_url
  
          redis_available = self._redis_available()
          broker_type = self.BROKER_TYPE
  
          if broker_type == 'redis' and not redis_available:
              log.warn("Choosed broker type is redis, but redis not available. \
                      Check redis package, and REDIS_HOST, REDIS_PORT settings")
  
          if broker_type == 'redis' and redis_available:
  
              return 'redis://{host}:{port}/{db}'.format(
                      host=self.REDIS_HOST,
                      port=self.REDIS_PORT,
                      db=self.CELERY_REDIS_BROKER_DB)
          elif broker_type == 'rabbitmq':
              return 'amqp://{user}:{passwd}@{host}:{port}/{vhost}'.format(
                      user=self.RABBITMQ_USER,
                      passwd=self.RABBITMQ_PASSWD,
                      host=self.RABBITMQ_HOST,
                      port=self.RABBITMQ_PORT,
                      vhost=self.RABBITMQ_VHOST)
          else:
              return DEFAULT_BROKER_URL
docs: Sets BROKER_URL depending on redis or rabbitmq settings