Commit 59903ee4 by Will Daly

Merge pull request #381 from edx/will/set-training-task-priority

Will/set training task priority
parents b9370273 5a68a8d9
...@@ -4,6 +4,7 @@ Asynchronous tasks for training classifiers from examples. ...@@ -4,6 +4,7 @@ Asynchronous tasks for training classifiers from examples.
from collections import defaultdict from collections import defaultdict
from celery import task from celery import task
from celery.utils.log import get_task_logger from celery.utils.log import get_task_logger
from django.conf import settings
from openassessment.assessment.api import ai_worker as ai_worker_api from openassessment.assessment.api import ai_worker as ai_worker_api
from openassessment.assessment.errors import AIError from openassessment.assessment.errors import AIError
from .algorithm import AIAlgorithm, AIAlgorithmError from .algorithm import AIAlgorithm, AIAlgorithmError
...@@ -16,6 +17,9 @@ MAX_RETRIES = 2 ...@@ -16,6 +17,9 @@ MAX_RETRIES = 2
logger = get_task_logger(__name__) logger = get_task_logger(__name__)
# If the Django settings define a low-priority queue, use that.
# Otherwise, use the default queue.
TRAINING_TASK_QUEUE = getattr(settings, 'LOW_PRIORITY_QUEUE', None)
class InvalidExample(Exception): class InvalidExample(Exception):
""" """
...@@ -29,7 +33,7 @@ class InvalidExample(Exception): ...@@ -29,7 +33,7 @@ class InvalidExample(Exception):
super(InvalidExample, self).__init__(err_msg) super(InvalidExample, self).__init__(err_msg)
@task(max_retries=MAX_RETRIES) # pylint: disable=E1102 @task(queue=TRAINING_TASK_QUEUE, max_retries=MAX_RETRIES) # pylint: disable=E1102
def train_classifiers(workflow_uuid): def train_classifiers(workflow_uuid):
""" """
Asynchronous task to train classifiers for AI grading. Asynchronous task to train classifiers for AI grading.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment