code: def broadcast_identifier(self):
          
          if self.handler_type is not BROADCAST:
              return None
  
          if self.reliable_delivery:
              raise EventHandlerConfigurationError(
                  "You are using the default broadcast identifier "
                  "which is not compatible with reliable delivery. See "
                  ":meth:`nameko.events.EventHandler.broadcast_identifier` "
                  "for details.")
  
          return uuid.uuid4().hex
docs: A unique string to identify a service instance for `BROADCAST`
          type handlers.
  
          The `broadcast_identifier` is appended to the queue name when the
          `BROADCAST` handler type is used. It must uniquely identify service
          instances that receive broadcasts.
  
          The default `broadcast_identifier` is a uuid that is set when the
          service starts. It will change when the service restarts, meaning
          that any unconsumed messages that were broadcast to the 'old' service
          instance will not be received by the 'new' one. ::
  
              @property
              def broadcast_identifier(self):
                  # use a uuid as the identifier.
                  # the identifier will change when the service restarts and
                  # any unconsumed messages will be lost
                  return uuid.uuid4().hex
  
          The default behaviour is therefore incompatible with reliable delivery.
  
          An alternative `broadcast_identifier` that would survive service
          restarts is ::
  
              @property
              def broadcast_identifier(self):
                  # use the machine hostname as the identifier.
                  # this assumes that only one instance of a service runs on
                  # any given machine
                  return socket.gethostname()
  
          If neither of these approaches are appropriate, you could read the
          value out of a configuration file ::
  
              @property
              def broadcast_identifier(self):
                  return self.config['SERVICE_IDENTIFIER']  # or similar
  
          Broadcast queues are exclusive to ensure that `broadcast_identifier`
          values are unique.
  
          Because this method is a descriptor, it will be called during
          container creation, regardless of the configured `handler_type`.
          See :class:`nameko.extensions.Extension` for more details.