Skip to content
Snippets Groups Projects
Commit 9b516ce8 authored by robinwilliam.hundt's avatar robinwilliam.hundt
Browse files

Changed no of gunicorn workers to 5 and type to sync

Using multiprocessing.Lock to synchronize access to creation of Assignment

fixes #130
parent 94f0c460
No related branches found
No related tags found
No related merge requests found
Pipeline #91412 passed
...@@ -10,6 +10,8 @@ from core.models import TutorSubmissionAssignment ...@@ -10,6 +10,8 @@ from core.models import TutorSubmissionAssignment
from core.permissions import IsReviewer, IsTutorOrReviewer from core.permissions import IsReviewer, IsTutorOrReviewer
from core.serializers import AssignmentDetailSerializer, AssignmentSerializer from core.serializers import AssignmentDetailSerializer, AssignmentSerializer
from multiprocessing import Lock
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
...@@ -123,11 +125,13 @@ class AssignmentApiViewSet( ...@@ -123,11 +125,13 @@ class AssignmentApiViewSet(
@permission_classes((IsTutorOrReviewer,)) @permission_classes((IsTutorOrReviewer,))
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
context = self.get_serializer_context() with Lock():
serializer = AssignmentDetailSerializer(data=request.data, context = self.get_serializer_context()
context=context) serializer = AssignmentDetailSerializer(data=request.data,
serializer.is_valid(raise_exception=True) context=context)
return self._fetch_assignment(serializer) serializer.is_valid(raise_exception=True)
assignment = self._fetch_assignment(serializer)
return assignment
@permission_classes((IsTutorOrReviewer,)) @permission_classes((IsTutorOrReviewer,))
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
......
...@@ -3,7 +3,7 @@ sleep 1 ...@@ -3,7 +3,7 @@ sleep 1
python manage.py migrate --noinput python manage.py migrate --noinput
gunicorn \ gunicorn \
--bind 0.0.0.0:8000 \ --bind 0.0.0.0:8000 \
--workers=2 \ --workers=5 \
--worker-class=gevent \ --worker-class=sync \
--log-level debug \ --log-level debug \
grady.wsgi:application grady.wsgi:application
...@@ -5,7 +5,6 @@ djangorestframework~=3.8 ...@@ -5,7 +5,6 @@ djangorestframework~=3.8
git+https://github.com/robinhundt/djangorestframework-camel-case git+https://github.com/robinhundt/djangorestframework-camel-case
Django~=2.1 Django~=2.1
drf-yasg~=1.12.0 drf-yasg~=1.12.0
gevent~=1.3.0
gunicorn~=19.9.0 gunicorn~=19.9.0
psycopg2-binary~=2.7.0 psycopg2-binary~=2.7.0
python-json-logger~=0.1.0 python-json-logger~=0.1.0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment