code: def ensure_future(self, coroutine):
      if self._closed:
          raise TaskManagerClosedError
      t = asyncio.create_task(coroutine)
      t.add_done_callback(self.on_task_done(t))
      self.tasks.add(t)
  
file_path: hail/hail/python/hailtop/aiotools/tasks.py
imports: from typing import Callable, Set
  import asyncio
  import logging
label_desc: Use image node_id 2 for calling the BackgroundTaskManager obj's underlying member method code with example usage: obj.ensure_future(coroutine) without return types