diff --git a/app/scheduler/views.py b/app/scheduler/views.py
index 49350d6de4bc55eb6374fcf60774233034ca9755..a74f6695447f63122ceb813e0a552fd00a4a7330 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)