code: def stream_command_output(self, stdout=None, stderr=None):
      def send(req, stream):
          try:
              self._send(req, stream)
          except Exception as e:
              self.abort_command()
              raise e
  
      return (
          in_thread(send, (StreamCommandStdOutRequest(), stdout))
          if stdout
          else None,
          in_thread(send, (StreamCommandStdErrRequest(), stderr))
          if stderr
          else None,
      )
  
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 3 for calling the BasicTaskClient obj's underlying member method code with example usage: obj.stream_command_output(stdout, stderr) and returns: unknown,  unknown