From aa37c99ac46df01e4db1c0cd3ecda0687198b2bd Mon Sep 17 00:00:00 2001 From: zty Date: Mon, 29 Jul 2024 13:15:52 +0800 Subject: [PATCH] =?UTF-8?q?fix=20:exam=20=E4=BF=AE=E6=94=B9=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/exam/views.py | 13 +++++-------- server/server/settings.py | 16 ++++++++-------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/server/apps/exam/views.py b/server/apps/exam/views.py index ceb0e89..421920e 100644 --- a/server/apps/exam/views.py +++ b/server/apps/exam/views.py @@ -27,7 +27,7 @@ from apps.exam.parse_word import interpret_text import os import shutil from django.db.models import Q -from django_redis import get_redis_connection +from django.core.cache import cache import uuid # Create your views here. @@ -689,8 +689,7 @@ class ExamRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, G current_date = now_data.strftime('%Y-%m-%d') cer_number = now_data.strftime('%Y%m%d') # redis 连接并获取锁 - redis_conn = get_redis_connection("redis") - identifier = acquire_lock(redis_conn, 'certificate', 10) + cache.set("certificate", str(uuid.uuid4()), timeout=60) # 查询证明编号创建时间为最后一个 cer = Certificate.objects.latest('证书编号') if cer: @@ -712,12 +711,10 @@ class ExamRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, G serializer = CertificateSerializer(data=data_dict) serializer.is_valid(raise_exception=True) serializer.save() + val = cache.get("certificate") + if val: # 如果存在,则删除 # 释放锁 - if identifier: - release_lock(redis_conn, 'certificate', identifier) - else: - print("没有找到锁") - + cache.delete("certificate") er.took = (now - er.create_time).total_seconds() er.end_time = now er.belong_dept=request.user.dept diff --git a/server/server/settings.py b/server/server/settings.py index 97bed41..6120818 100644 --- a/server/server/settings.py +++ b/server/server/settings.py @@ -196,14 +196,14 @@ AUTHENTICATION_BACKENDS = ( # 缓存配置 CACHES = { - "redis": { - "BACKEND": "django_redis.cache.RedisCache", - "LOCATION": "redis://127.0.0.1:6379/1", - "OPTIONS": { - "CLIENT_CLASS": "django_redis.client.DefaultClient", - # "PICKLE_VERSION": -1 - } - }, + # "redis": { + # "BACKEND": "django_redis.cache.RedisCache", + # "LOCATION": "redis://127.0.0.1:6379/1", + # "OPTIONS": { + # "CLIENT_CLASS": "django_redis.client.DefaultClient", + # # "PICKLE_VERSION": -1 + # } + # }, 'default': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': os.path.join(BASE_DIR, 'temp'),