docstr: Checks that a command has started.
  
  Returns True as soon as the command has started, waits at most `seconds` seconds and
  returns False if command has not started in that time.
  
  :param seconds: seconds
  :return True or False indication command start
docstr_tok: ["Checks","that","a","command","has","started",".","Returns","True","as","soon","as","the","command","has","started",",","waits","at","most","`","seconds","`","seconds","and","returns","False","if","command","has","not","started","in","that","time",".",":","param","seconds",":","seconds",":","return","True","or","False","indication","command","start"]
code: def check_for_command_start(self, seconds):
      """Checks that a command has started.
  
      Returns True as soon as the command has started, waits at most `seconds` seconds and
      returns False if command has not started in that time.
  
      :param seconds: seconds
      :return True or False indication command start
      """
      self._wait_cond.acquire()
      try:
          tmout = util.timeout.Timeout(
              seconds, "Timed out waiting for {activity}"
          )
  
          while self._command_thread is None:
              self._wait_cond.wait(tmout.remaining())
              if tmout.remaining() == 0:
                  return self._command_thread is not None
          return True
      finally:
          self._wait_cond.release()
  
imports: import abc
  import threading
  from horovod.runner.common import util
  from horovod.runner.common.util import network, safe_shell_exec, timeout
  from horovod.runner.util.streams import Pipe
  from horovod.runner.util.threads import in_thread
label_desc: Use image node_id 8 for calling the BasicTaskService obj's underlying member method code with example usage: obj.check_for_command_start(seconds) and returns: True, unknown