class_docstr: Orchestrates delivery of alerts to the appropriate dispatchers.
class_docstr_tok: ["Orchestrates","delivery","of","alerts","to","the","appropriate","dispatchers","."]
docstr: Send an alert to each remaining output.
  
  Args:
      alert (Alert): Alert to send
  
  Returns:
      dict: Maps output (str) to whether it sent successfully (bool)
docstr_tok: ["Send","an","alert","to","each","remaining","output",".","Args",":","alert","(","Alert",")",":","Alert","to","send","Returns",":","dict",":","Maps","output","(","str",")","to","whether","it","sent","successfully","(","bool",")"]
code: def _send_to_outputs(self, alert):
      """Send an alert to each remaining output.
  
      Args:
          alert (Alert): Alert to send
  
      Returns:
          dict: Maps output (str) to whether it sent successfully (bool)
      """
      result = {}
  
      for output in alert.remaining_outputs:
          dispatcher = self._create_dispatcher(output)
          result[output] = (
              dispatcher.dispatch(alert, output)
              if dispatcher
              else False
          )
  
      alert.outputs_sent = set(
          output for output, success in list(result.items()) if success
      )
      return result
  
file_path: streamalert/streamalert/alert_processor/main.py
imports: from os import environ
  import backoff
  from botocore.exceptions import ClientError
  from streamalert.alert_processor.outputs.output_base import StreamAlertOutput
  from streamalert.shared import backoff_handlers, resources
  from streamalert.shared.alert import Alert, AlertCreationError
  from streamalert.shared.alert_table import AlertTable
  from streamalert.shared.config import load_config
  from streamalert.shared.logger import get_logger
  from streamalert.shared.normalize import Normalizer
label_desc: Use image node_id 4 for calling the AlertProcessor obj's underlying member method code with example usage: obj._send_to_outputs(alert) and returns: result