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

Change subject: WIP still output when killed
......................................................................

WIP still output when killed

Really should fix that exit_code issue now
Also, test will need threading. Fun!

Change-Id: Iae9fcfa9634d482e1df786b3878d53e00a9f2006
---
M processcontrol/job_wrapper.py
1 file changed, 7 insertions(+), 0 deletions(-)


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

diff --git a/processcontrol/job_wrapper.py b/processcontrol/job_wrapper.py
index d84b83e..248420b 100644
--- a/processcontrol/job_wrapper.py
+++ b/processcontrol/job_wrapper.py
@@ -3,6 +3,7 @@
 import glob
 import os
 import shlex
+import signal
 import subprocess
 import sys
 import threading
@@ -56,6 +57,8 @@
         lock.begin(job_tag=self.name)
 
         command = shlex.split(self.config.get("command"))
+        signal.signal(signal.SIGTERM, self.handle_sigterm)
+        signal.signal(signal.SIGINT, self.handle_sigterm)
 
         self.process = subprocess.Popen(command, stdout=subprocess.PIPE, 
stderr=subprocess.PIPE, env=self.environment)
         timer = threading.Timer(self.timeout, self.fail_timeout)
@@ -149,3 +152,7 @@
                 return {"status": "running", "pid": pid}
 
         return None
+
+    def handle_sigterm(self, signum, frame):
+        self.process.kill()
+        print("Job {name} killed".format(name=self.name), file=sys.stderr)

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae9fcfa9634d482e1df786b3878d53e00a9f2006
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/process-control
Gerrit-Branch: master
Gerrit-Owner: Ejegg <eeggles...@wikimedia.org>

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

Reply via email to