diff --git a/app/services/views.py b/app/services/views.py index df46ca20310987ae08ff148a7fbfa8bef7416372..9fbb8eb77513a9bec0e66d05ca4a186fde49946d 100644 --- a/app/services/views.py +++ b/app/services/views.py @@ -15,7 +15,6 @@ import json def ocr(): new_ocr_job_form = NewOCRJobForm() if new_ocr_job_form.validate_on_submit(): - app = current_app._get_current_object() ocr_job = Job(creator=current_user._get_current_object(), description=new_ocr_job_form.description.data, service="ocr", @@ -27,10 +26,11 @@ def ocr(): "version": new_ocr_job_form.version.data}), status="pending", title=new_ocr_job_form.title.data) + db.session.add(ocr_job) db.session.commit() - dir = os.path.join(app.config['OPAQUE_STORAGE'], + dir = os.path.join(current_app.config['OPAQUE_STORAGE'], str(ocr_job.user_id), 'jobs', str(ocr_job.id)) @@ -39,6 +39,8 @@ def ocr(): os.makedirs(dir) except OSError: flash('OSError!') + db.session.remove(ocr_job) + db.session.commit() else: for file in new_ocr_job_form.files.data: file.save(os.path.join(dir, file.filename)) @@ -48,6 +50,7 @@ def ocr(): ' NOTE: Using self created threads is just for testing purpose as ' there is no scheduler available. ''' + db.session.expunge(ocr_job) thread = Thread(target=swarm.run, args=(ocr_job,)) thread.start() flash('Job created!') @@ -65,7 +68,6 @@ def ocr(): def nlp(): new_nlp_job_form = NewNLPJobForm() if new_nlp_job_form.validate_on_submit(): - app = current_app._get_current_object() nlp_job = Job(creator=current_user._get_current_object(), description=new_nlp_job_form.description.data, service="nlp", @@ -76,10 +78,11 @@ def nlp(): "version": new_nlp_job_form.version.data}), status="pending", title=new_nlp_job_form.title.data) + db.session.add(nlp_job) db.session.commit() - dir = os.path.join(app.config['OPAQUE_STORAGE'], + dir = os.path.join(current_app.config['OPAQUE_STORAGE'], str(nlp_job.user_id), 'jobs', str(nlp_job.id)) @@ -88,6 +91,8 @@ def nlp(): os.makedirs(dir) except OSError: flash('OSError!') + db.session.remove(nlp_job) + db.session.commit() else: for file in new_nlp_job_form.files.data: file.save(os.path.join(dir, file.filename)) @@ -97,6 +102,7 @@ def nlp(): ' NOTE: Using self created threads is just for testing purpose as ' there is no scheduler available. ''' + db.session.expunge(nlp_job) thread = Thread(target=swarm.run, args=(nlp_job,)) thread.start() flash('Job created!')