From 10a6d9f1d7dfdc40460cc6d545efe90dc686a89d Mon Sep 17 00:00:00 2001 From: Michael Skelton Date: Tue, 23 Oct 2018 22:50:02 +1000 Subject: [PATCH] [BUGFIX] Thread invokation --- Interlace/lib/core/threader.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Interlace/lib/core/threader.py b/Interlace/lib/core/threader.py index 1975383..13249cb 100644 --- a/Interlace/lib/core/threader.py +++ b/Interlace/lib/core/threader.py @@ -3,22 +3,20 @@ import subprocess class Worker(object): - def __init__(self, pool, output, timeout): + def __init__(self, pool): self.pool = pool - self.output = output - self.timeout = timeout def __call__(self, task): - self.run_task(task, self.timeout) + self.run_task(task) self.pool.workers.add(self) - def run_task(self, task, timeout): + def run_task(self, task): try: subprocess.run(task) except subprocess.TimeoutExpired: - self.output.terminal(3, "", task, message="Timeout when running %s" % task) + self.pool.output.terminal(3, "", task, message="Timeout when running %s" % task) except subprocess.CalledProcessError: - self.output.terminal(3, "", task, message="Process error when running %s" + self.pool.output.terminal(3, "", task, message="Process error when running %s" % task) @@ -43,5 +41,5 @@ class Pool(object): task = self.queue.pop(0) # run - thread = threading.Thread(worker, args=(task, self.output, self.timeout)) + thread = threading.Thread(target=worker, args=(task, self.output, self.timeout)) thread.start() \ No newline at end of file