code: def _consume_callback(consumers):
      
      for consumer in consumers:
  
          def errback(failure):
              global _exit_code
              if failure.check(exceptions.HaltConsumer):
                  _exit_code = failure.value.exit_code
                  if _exit_code:
                      _log.error(
                          "Consumer halted with non-zero exit code (%d): %s",
                          _exit_code,
                          str(failure.value.reason),
                      )
              elif failure.check(exceptions.ConsumerCanceled):
                  _exit_code = 12
                  _log.error(
                      "The consumer was canceled server-side, check with system administrators."
                  )
              elif failure.check(exceptions.PermissionException):
                  _exit_code = 15
                  _log.error(
                      "The consumer could not proceed because of a permissions problem: %s",
                      str(failure.value),
                  )
              else:
                  _exit_code = 13
                  _log.error(
                      "Unexpected error occurred in consumer %r: %r", consumer, failure
                  )
              try:
                  reactor.stop()
              except error.ReactorNotRunning:
                  pass
  
          def callback(consumer):
              _log.info("The %r consumer halted.", consumer)
              if all([c.result.called for c in consumers]):
                  _log.info("All consumers have stopped; shutting down.")
                  try:
                      # Last consumer out shuts off the lights
                      reactor.stop()
                  except error.ReactorNotRunning:
                      pass
  
          consumer.result.addCallbacks(callback, errback)
docs: Callback when consumers are successfully registered.
  
      This simply registers callbacks for consumer.result deferred object which
      fires when the consumer stops.
  
      Args
          consumers (list of fedora_messaging.api.Consumer):
              The list of consumers that were successfully created.