From bb2b0294fad946690e351338711255cf0c208ee6 Mon Sep 17 00:00:00 2001
From: Patrick Jentsch <p.jentsch@uni-bielefeld.de>
Date: Thu, 11 Jul 2019 09:40:12 +0200
Subject: [PATCH] Add rudimentary job handler

---
 app/scheduler/views.py | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/app/scheduler/views.py b/app/scheduler/views.py
index 49350d6d..a74f6695 100644
--- a/app/scheduler/views.py
+++ b/app/scheduler/views.py
@@ -3,6 +3,7 @@ from . import scheduler
 from flask_login import current_user, login_required
 from .. import background_scheduler
 import json
+import subprocess
 
 
 @scheduler.route('/')
@@ -17,6 +18,22 @@ def scheduler():
         },
         'status': 'queued'
     }
-    job = background_scheduler.add_job(print, trigger='date', args=[job])
-    print(background_scheduler.get_jobs())
+    job = background_scheduler.add_job(process_job, trigger='date', args=[job])
+    print('### New job added for scheduling ###')
+    print(job)
     return render_template('scheduler/index.html.j2', title='Scheduler')
+
+
+def process_job(job):
+    input_dir = '/home/pjentsch/%s/input' % job['service']
+    output_dir = '/home/pjentsch/%s/output' % job['service']
+
+    job['status'] = 'running'
+    print('### Job status changed ###')
+    print(job)
+
+    subprocess.run([job['service'], '-i', input_dir, '-l', job['service_args']['lang'], '-o', output_dir, '--keep-intermediates'])
+
+    job['status'] = 'finished'
+    print('### Job status changed ###')
+    print(job)
-- 
GitLab