code: def execute_in_thread(self, fn, *args, **kwargs):
      promise = Promise()
      thread = Thread(target=process, args=(promise, fn, args, kwargs))
      thread.start()
      self.threads.append(thread)
      return promise
  
file_path: wandb/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/thread.py
imports: from multiprocessing.pool import ThreadPool
  from threading import Thread
  from wandb_promise import Promise
  from .utils import process
label_desc: Use image node_id 3 for calling the ThreadExecutor obj's underlying member method code with example usage: obj.execute_in_thread(fn) and returns: promise