Awight has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/346681 )

Change subject: Log actual commandline rather than redundant parent job slug.
......................................................................

Log actual commandline rather than redundant parent job slug.

Change-Id: I2e57112fa528037a0db16f9389bc4320eaf528f9
---
M processcontrol/output_streamer.py
M processcontrol/runner.py
2 files changed, 12 insertions(+), 8 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/process-control 
refs/changes/81/346681/1

diff --git a/processcontrol/output_streamer.py 
b/processcontrol/output_streamer.py
index 4735580..39e767b 100644
--- a/processcontrol/output_streamer.py
+++ b/processcontrol/output_streamer.py
@@ -25,11 +25,12 @@
 
 class OutputStreamer(object):
 
-    def __init__(self, process, slug, start_time):
+    def __init__(self, process, slug, cmdline, start_time):
         self.out_stream = process.stdout
         self.err_stream = process.stderr
         self.pid = process.pid
         self.slug = slug
+        self.cmdline = cmdline
         self.filename = make_logfile_path(slug, start_time)
         self.logger = None
         self.threads = {}
@@ -37,8 +38,17 @@
 
     def start(self):
         self.init_logger()
+
+        self.log_header()
+
         self.start_reading(self.out_stream, "stdout")
         self.start_reading(self.err_stream, "stderr", is_error_stream=True)
+
+    def log_header(self):
+        # TODO: maybe expose the header as a configurable template.
+        self.logger.info("===========")
+        self.logger.info("{cmdline} ({pid})".format(cmdline=self.cmdline, 
pid=self.pid))
+        self.logger.info("-----------")
 
     def start_reading(self, stream, stream_name, is_error_stream=False):
         thread = threading.Thread(
@@ -81,12 +91,6 @@
             console_handler = logging.StreamHandler(sys.stdout)
             self.log_handlers.append(console_handler)
             self.logger.addHandler(console_handler)
-
-        # FIXME: gets written for each subprocess, so the name=slug is not
-        # quite right.  Should be the commandline?
-        self.logger.info("===========")
-        self.logger.info("{name} ({pid})".format(name=self.slug, pid=self.pid))
-        self.logger.info("-----------")
 
     def stop(self):
         for thread in self.threads.values():
diff --git a/processcontrol/runner.py b/processcontrol/runner.py
index 3aef5ae..5ee090a 100644
--- a/processcontrol/runner.py
+++ b/processcontrol/runner.py
@@ -66,7 +66,7 @@
         command = shlex.split(command_string)
 
         self.process = subprocess.Popen(command, stdout=subprocess.PIPE, 
stderr=subprocess.PIPE, env=self.job.environment)
-        streamer = output_streamer.OutputStreamer(self.process, self.job.slug, 
self.start_time)
+        streamer = output_streamer.OutputStreamer(self.process, self.job.slug, 
command_string, self.start_time)
         self.logfile = streamer.filename
         streamer.start()
 

-- 
To view, visit https://gerrit.wikimedia.org/r/346681
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2e57112fa528037a0db16f9389bc4320eaf528f9
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/process-control
Gerrit-Branch: master
Gerrit-Owner: Awight <awi...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to