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
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
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