class_docstr: Orchestrates delivery of alerts to the appropriate dispatchers.
class_docstr_tok: ["Orchestrates","delivery","of","alerts","to","the","appropriate","dispatchers","."]
docstr: Get an instance of the AlertProcessor, using a cached version if possible.
docstr_tok: ["Get","an","instance","of","the","AlertProcessor",",","using","a","cached","version","if","possible","."]
code: def get_instance(cls):
      """Get an instance of the AlertProcessor, using a cached version if possible."""
      if not cls.ALERT_PROCESSOR:
          cls.ALERT_PROCESSOR = AlertProcessor()
      return cls.ALERT_PROCESSOR
  
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 1 for calling the AlertProcessor obj's underlying member method code with example usage: obj.get_instance(cls) and returns: cls