aboutsummaryrefslogtreecommitdiff
path: root/app/utils/tasks.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/utils/tasks.py')
-rw-r--r--app/utils/tasks.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/utils/tasks.py b/app/utils/tasks.py
index b0f5c27..8356876 100644
--- a/app/utils/tasks.py
+++ b/app/utils/tasks.py
@@ -5,13 +5,26 @@
"""
import random
+import multiprocessing
from flask import current_app
from app.models import Dataset, Task
+TASK_LOCK = multiprocessing.Lock()
+
def generate_user_task(user):
+ task = None
+ TASK_LOCK.acquire(timeout=10)
+ try:
+ task = realgenerate_user_task(user)
+ finally:
+ TASK_LOCK.release()
+ return task
+
+
+def realgenerate_user_task(user):
"""
Generate new task for a given user.