class_docstr: The analysis context holds the pieces needed to route analysis requests
code: def __init__(self, analysis_id, upq, lock):
      self.lock = lock
      self.analysis_id = analysis_id
      self.upq = upq
      self.cancelled = False
      # A map of requests pending to the closure that can be used to
      # reply to the request
      self.reqs_pending = set()
  
file_path: CellProfiler/src/subpackages/core/cellprofiler_core/utilities/zmq/_analysis_context.py
imports: from .communicable import Communicable
  from .communicable.reply.upstream_exit import BoundaryExited
label_desc: Use image node_id 1 to create a new AnalysisContext object  with example: obj = AnalysisContext(analysis_id, upq, lock)