mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-12 09:00:40 +00:00
Move job and user delete functions to utils.py
This commit is contained in:
@ -8,6 +8,7 @@ from ..models import Corpus, Job
|
||||
import os
|
||||
import logging
|
||||
import threading
|
||||
from app.utils import background_delete_job
|
||||
|
||||
|
||||
@main.route('/')
|
||||
@ -144,28 +145,9 @@ def job_download(job_id):
|
||||
@main.route('/jobs/<int:job_id>/delete')
|
||||
@login_required
|
||||
def delete_job(job_id):
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
def background_delete(job_id, app):
|
||||
with app.app_context():
|
||||
logger.warning('Called by delete_thread.')
|
||||
logger.warning('Job id is: {}.'.format(job_id))
|
||||
job = Job.query.filter_by(id=job_id).first()
|
||||
logger.warning('Job object is: {}'.format(job))
|
||||
logger.warning('Job status: {}'.format(job.status))
|
||||
job.flag_for_stop()
|
||||
logger.warning('Job status: {}'.format(job.status))
|
||||
deleted = False
|
||||
while deleted is False:
|
||||
db.session.refresh(job)
|
||||
if job.status == 'deleted':
|
||||
logger.warning('Job status is deleted.')
|
||||
job.delete_job()
|
||||
deleted = True
|
||||
|
||||
delete_thread = threading.Thread(target=background_delete,
|
||||
args=(job_id,
|
||||
current_app._get_current_object()))
|
||||
delete_thread = threading.Thread(target=background_delete_job,
|
||||
args=(current_app._get_current_object(),
|
||||
job_id))
|
||||
delete_thread.start()
|
||||
flash('Job has been deleted!')
|
||||
return redirect(url_for('main.dashboard'))
|
||||
|
Reference in New Issue
Block a user