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