def _begin_start(self, app_name, app_pth, app_wkdir, args):
     fn_name = FORK_TEMPL % (app_name)
     (pid_fn, stderr_fn, stdout_fn) = self._form_file_names(fn_name)
     trace_info = dict()
     trace_info[PID_FN] = pid_fn
     trace_info[STDERR_FN] = stderr_fn
     trace_info[STDOUT_FN] = stdout_fn
     trace_info[ARGS] = json.dumps(args)
     trace_fn = self._do_trace(fn_name, trace_info)
     LOG.debug("Forking %r by running command %r with args (%s)" % (app_name, app_pth, " ".join(args)))
     with sh.Rooted(True):
         sh.fork(app_pth, app_wkdir, pid_fn, stdout_fn, stderr_fn, *args)
     return trace_fn
Example #2
0
 def _begin_start(self, app_name, app_pth, app_wkdir, args):
     fn_name = FORK_TEMPL % (app_name)
     (pid_fn, stderr_fn, stdout_fn) = self._form_file_names(fn_name)
     trace_info = dict()
     trace_info[PID_FN] = pid_fn
     trace_info[STDERR_FN] = stderr_fn
     trace_info[STDOUT_FN] = stdout_fn
     trace_info[ARGS] = json.dumps(args)
     trace_fn = self._do_trace(fn_name, trace_info)
     LOG.debug("Forking %r by running command %r with args (%s)" % (app_name, app_pth, " ".join(args)))
     with sh.Rooted(True):
         sh.fork(app_pth, app_wkdir, pid_fn, stdout_fn, stderr_fn, *args)
     return trace_fn
Example #3
0
 def _begin_start(self, app_name, app_pth, app_wkdir, args):
     fork_fns = self._form_file_names(app_name)
     trace_fn = fork_fns.trace
     # Ensure all arguments for this app in string format
     args = [str(i) for i in args if i is not None]
     if trace_fn:
         # Not needed, but useful to know where the files are located at
         #
         # TODO(harlowja): use this info instead of forming the filenames
         # repeatly
         trace_info = {}
         trace_info.update(fork_fns.as_dict())
         # Useful to know what args were sent along
         trace_info[ARGS] = json.dumps(args)
         run_trace = tr.TraceWriter(trace_fn)
         for (k, v) in trace_info.items():
             if v is not None:
                 run_trace.trace(k, v)
     LOG.debug("Forking %r by running command %r with args (%s)" % (app_name, app_pth, " ".join(args)))
     sh.fork(app_pth, app_wkdir, fork_fns.pid, fork_fns.stdout, fork_fns.stderr, *args)
     return trace_fn
Example #4
0
 def _begin_start(self, app_name, app_pth, app_wkdir, args):
     fork_fns = self._form_file_names(app_name)
     trace_fn = fork_fns.trace
     # Ensure all arguments for this app in string format
     args = [str(i) for i in args if i is not None]
     if trace_fn:
         # Not needed, but useful to know where the files are located at
         #
         # TODO(harlowja): use this info instead of forming the filenames
         # repeatly
         trace_info = {}
         trace_info.update(fork_fns.as_dict())
         # Useful to know what args were sent along
         trace_info[ARGS] = json.dumps(args)
         run_trace = tr.TraceWriter(trace_fn)
         for (k, v) in trace_info.items():
             if v is not None:
                 run_trace.trace(k, v)
     LOG.debug("Forking %r by running command %r with args (%s)" % (app_name, app_pth, " ".join(args)))
     with sh.Rooted(True):
         sh.fork(app_pth, app_wkdir, fork_fns.pid, fork_fns.stdout, fork_fns.stderr, *args)
     return trace_fn