class_docstr: Class to manage a pool of backgrounded threaded jobs.
  
  Below, we assume that 'jobs' is a BackgroundJobManager instance.
  
  Usage summary (see the method docstrings for details):
  
    jobs.new(...) -> start a new job
    
    jobs() or jobs.status() -> print status summary of all jobs
  
    jobs[N] -> returns job number N.
  
    foo = jobs[N].result -> assign to variable foo the result of job N
  
    jobs[N].traceback() -> print the traceback of dead job N
  
    jobs.remove(N) -> remove (finished) job N
  
    jobs.flush() -> remove all finished jobs
    
  As a convenience feature, BackgroundJobManager instances provide the
  utility result and traceback methods which retrieve the corresponding
  information from the jobs list:
  
    jobs.result(N) <--> jobs[N].result
    jobs.traceback(N) <--> jobs[N].traceback()
  
  While this appears minor, it allows you to use tab completion
  interactively on the job manager instance.
class_docstr_tok: ["Class","to","manage","a","pool","of","backgrounded","threaded","jobs",".","Below",",","we","assume","that","'jobs","'","is","a","BackgroundJobManager","instance",".","Usage","summary","(","see","the","method","docstrings","for","details",")",":","jobs.new","(","...",")","-",">","start","a","new","job","jobs","(",")","or","jobs.status","(",")","-",">","print","status","summary","of","all","jobs","jobs","[","N","]","-",">","returns","job","number","N.","foo","=","jobs","[","N","]",".result","-",">","assign","to","variable","foo","the","result","of","job","N","jobs","[","N","]",".traceback","(",")","-",">","print","the","traceback","of","dead","job","N","jobs.remove","(","N",")","-",">","remove","(","finished",")","job","N","jobs.flush","(",")","-",">","remove","all","finished","jobs","As","a","convenience","feature",",","BackgroundJobManager","instances","provide","the","utility","result","and","traceback","methods","which","retrieve","the","corresponding","information","from","the","jobs","list",":","jobs.result","(","N",")","<","--",">","jobs","[","N","]",".result","jobs.traceback","(","N",")","<","--",">","jobs","[","N","]",".traceback","(",")","While","this","appears","minor",",","it","allows","you","to","use","tab","completion","interactively","on","the","job","manager","instance","."]
code: def running(self):
      self._update_status()
      return self._running
  
imports: import sys
  import threading
  from IPython import get_ipython
  from IPython.core.ultratb import AutoFormattedTB
  from logging import error, debug
label_desc: Use image node_id 2 for calling the BackgroundJobManager obj's underlying member method code with example usage: obj.running() and returns: self