class_docstr: Use an engine to launch RAY Driver --> RAY Worker --> Async_Manager
  Background loop: inference reqs in waiting list (Listen)
  Request Tracker: manage incoming requests and restore finished ones
  Generate: exposed func for add new input and return finished ones
class_docstr_tok: ["Use","an","engine","to","launch","RAY","Driver","--",">","RAY","Worker","--",">","Async_Manager","Background","loop",":","inference","reqs","in","waiting","list","(","Listen",")","Request","Tracker",":","manage","incoming","requests","and","restore","finished","ones","Generate",":","exposed","func","for","add","new","input","and","return","finished","ones"]
code: def is_running(self):
      return (
          self.background_loop is not None
          and not self.background_loop.done()
      )
  
file_path: ColossalAI/colossalai/legacy/inference/async_engine.py
imports: import asyncio
  from colossalai.inference.dynamic_batching.ray_dist_init import Driver
  from .dynamic_batching.io_struct import RequestOutput
  from .dynamic_batching.sampling_params import SamplingParams
label_desc: Use image node_id 5 for calling the Async_Engine obj's underlying member method code with example usage: obj.is_running() and returns: unknown