diff options
author | Sunil Shetye | 2025-03-21 00:50:17 +0530 |
---|---|---|
committer | Sunil Shetye | 2025-03-21 00:52:32 +0530 |
commit | 971554fc3f5813773b9a9112aa659eb962482818 (patch) | |
tree | 11c8601c98ff19e3991c5ff7cae88a03dfd31c2e | |
parent | ff40fb61e7c9b1664b08875cafc472aa6a8d95aa (diff) | |
download | Common-Interface-Project-971554fc3f5813773b9a9112aa659eb962482818.tar.gz Common-Interface-Project-971554fc3f5813773b9a9112aa659eb962482818.tar.bz2 Common-Interface-Project-971554fc3f5813773b9a9112aa659eb962482818.zip |
add type and workspace_file columns to Task model
use worker logger in serializers and views of simulationAPI
-rw-r--r-- | blocks/simulationAPI/models.py | 7 | ||||
-rw-r--r-- | blocks/simulationAPI/serializers.py | 9 | ||||
-rw-r--r-- | blocks/simulationAPI/views.py | 7 |
3 files changed, 15 insertions, 8 deletions
diff --git a/blocks/simulationAPI/models.py b/blocks/simulationAPI/models.py index b2f09505..2a121941 100644 --- a/blocks/simulationAPI/models.py +++ b/blocks/simulationAPI/models.py @@ -8,6 +8,11 @@ import uuid from celery.result import AsyncResult +TASK_TYPE_CHOICES = [ + ("XCOS", "Xcos"), + ("SCRIPT", "Scilab Script"), +] + TASK_STATUS_CHOICES = [ ("PENDING", "Pending"), ("STARTED", "Started"), @@ -61,10 +66,12 @@ class Session(models.Model): class Task(models.Model): task_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) file = models.FileField(storage=FileSystemStorage(location=settings.MEDIA_ROOT)) + type = models.CharField(max_length=20, choices=TASK_TYPE_CHOICES, null=False, default="XCOS") status = models.CharField(max_length=20, choices=TASK_STATUS_CHOICES, null=False, default="PENDING") parameters = models.TextField(blank=True, null=True) upload_time = models.DateTimeField(auto_now=True) log_name = models.CharField(max_length=500, blank=True, null=True) + workspace_file = models.CharField(max_length=500, blank=True, null=True) returncode = models.IntegerField(blank=True, null=True) session = models.ForeignKey(Session, on_delete=models.CASCADE, related_name='task', null=True) start_time = models.DateTimeField(null=True) diff --git a/blocks/simulationAPI/serializers.py b/blocks/simulationAPI/serializers.py index 01579427..8a872bf1 100644 --- a/blocks/simulationAPI/serializers.py +++ b/blocks/simulationAPI/serializers.py @@ -1,10 +1,10 @@ import json -from celery.utils.log import get_task_logger +import logging from rest_framework import serializers from simulationAPI.models import Task, Session -logger = get_task_logger(__name__) +logger = logging.getLogger("celery") class SessionSerializer(serializers.ModelSerializer): @@ -18,8 +18,9 @@ class TaskSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Task - fields = ('task_id', 'file', 'status', 'parameters', 'upload_time', - 'log_name', 'returncode', 'session', 'start_time', 'end_time') + fields = ('task_id', 'file', 'type', 'status', + 'parameters', 'upload_time', 'log_name', 'workspace_file', + 'returncode', 'session', 'start_time', 'end_time') def create(self, validated_data): # Takes file from request and stores it along with a taskid diff --git a/blocks/simulationAPI/views.py b/blocks/simulationAPI/views.py index 1c1b5416..4d08c8fc 100644 --- a/blocks/simulationAPI/views.py +++ b/blocks/simulationAPI/views.py @@ -1,9 +1,9 @@ import os from django.conf import settings +import logging import time import uuid from celery.result import AsyncResult -from celery.utils.log import get_task_logger from django.http import StreamingHttpResponse, JsonResponse from rest_framework import status from rest_framework.exceptions import ValidationError @@ -34,7 +34,7 @@ DATA = 2 # to indicate there is no line in log file further NOLINE = -1 -logger = get_task_logger(__name__) +logger = logging.getLogger("celery") class XmlUploader(APIView): @@ -53,8 +53,7 @@ class XmlUploader(APIView): if serializer.is_valid(): serializer.save() task_id = serializer.data['task_id'] - celery_task = process_task.apply_async( - kwargs={'task_id': str(task_id)}, task_id=str(task_id)) + celery_task = process_task.delay(str(task_id)) response_data = { 'state': celery_task.state, 'details': serializer.data, |