diff --git a/app/corpora/tasks.py b/app/corpora/tasks.py index 480cb7aa84af603cd45851731967d8abf2268ea2..c1ad6d83696264e02747c8aa14626e5d264da9d7 100644 --- a/app/corpora/tasks.py +++ b/app/corpora/tasks.py @@ -7,7 +7,8 @@ import shutil @background -def build_corpus(app, corpus_id): +def build_corpus(corpus_id, *args, **kwargs): + app = kwargs['app'] with app.app_context(): corpus = Corpus.query.get(corpus_id) if corpus is None: @@ -48,7 +49,8 @@ def build_corpus(app, corpus_id): @background -def delete_corpus(app, corpus_id): +def delete_corpus(corpus_id, *args, **kwargs): + app = kwargs['app'] with app.app_context(): corpus = Corpus.query.get(corpus_id) if corpus is None: @@ -60,7 +62,8 @@ def delete_corpus(app, corpus_id): @background -def delete_corpus_file(app, corpus_file_id): +def delete_corpus_file(corpus_file_id, *args, **kwargs): + app = kwargs['app'] with app.app_context(): corpus_file = CorpusFile.query.get(corpus_file_id) if corpus_file is None: diff --git a/app/decorators.py b/app/decorators.py index fe740fefa493ce62581a4abed2c591ce4da1e107..a6a25fa1bc32c36ac155a9950feee225297676ae 100644 --- a/app/decorators.py +++ b/app/decorators.py @@ -19,8 +19,8 @@ def background(f): ''' This decorator executes a function in a Thread ''' @wraps(f) def wrapped(*args, **kwargs): - app = current_app._get_current_object() - thread = Thread(target=f, args=(app, *args), kwargs=kwargs) + kwargs['app'] = current_app._get_current_object() + thread = Thread(target=f, args=args, kwargs=kwargs) thread.start() return thread return wrapped diff --git a/app/jobs/tasks.py b/app/jobs/tasks.py index 56b4462c1bbfb8b09d22713295c421976a6519e8..58e66d83be7749ac92299ee8d543bfa34edfaea6 100644 --- a/app/jobs/tasks.py +++ b/app/jobs/tasks.py @@ -7,7 +7,8 @@ import shutil @background -def delete_job(app, job_id): +def delete_job(job_id, *args, **kwargs): + app = kwargs['app'] with app.app_context(): job = Job.query.get(job_id) if job is None: diff --git a/app/profile/tasks.py b/app/profile/tasks.py index c27d6b3b042f04a40d79ace0c220511e626adeac..a4f61dacbda18e2c7a8d6f4720310b38d65bc419 100644 --- a/app/profile/tasks.py +++ b/app/profile/tasks.py @@ -1,4 +1,3 @@ -from .. import logger from ..decorators import background from ..models import User import os @@ -6,13 +5,12 @@ import shutil @background -def delete_user(app, user_id): - logger.warning('aufgerufen') +def delete_user(user_id, *args, **kwargs): + app = kwargs['app'] with app.app_context(): user = User.query.get(user_id) if user is None: raise Exception('User {} not found!'.format(user_id)) - logger.warning('deleting user') path = os.path.join(app.config['NOPAQUE_STORAGE'], str(user.id)) shutil.rmtree(path, ignore_errors=True) user.delete()