From 039e4d200fd1d616ca569f46e2fd9ac25307e55a Mon Sep 17 00:00:00 2001 From: Cristiano Urban Date: Fri, 4 Dec 2020 16:24:39 +0100 Subject: [PATCH] Added basic preprocessor class. Signed-off-by: Cristiano Urban --- transfer_service/preprocessor.py | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 transfer_service/preprocessor.py diff --git a/transfer_service/preprocessor.py b/transfer_service/preprocessor.py new file mode 100644 index 0000000..9504ed6 --- /dev/null +++ b/transfer_service/preprocessor.py @@ -0,0 +1,33 @@ +import threading +import time + +from config import Config +from job_queue import JobQueue +from store_preprocessor import StorePreprocessor + + +class Preprocessor(threading.Thread): + + def __init__(self): + threading.Thread.__init__(self) + config = Config("vos_ts.conf") + self.params = config.loadSection("scheduling") + self.maxPendingJobs = self.params.getint("max_pending_jobs") + self.maxReadyJobs = self.params.getint("max_ready_jobs") + self.pendingQueue = JobQueue("pending") + self.readyQueue = JobQueue("ready") + self.storePreprocessor = StorePreprocessor() + + def run(self): + while True: + if(self.readyQueue.len() <= self.maxReadyJobs and self.pendingQueue.len() > 0): + jobObj = self.pendingQueue.getJob() + self.storePreprocessor.prepare(jobObj["jobInfo"]["userName"]) + self.storePreprocessor.start() + self.pendingQueue.moveJobTo("ready") + print("Job MOVED:") + time.sleep(1) + +# Test +#p = Preprocessor() +#p.start() -- GitLab