如何在Django Rest中并行运行两个请求

我有两个请求,它们是从react前端调用的,一个请求正在循环运行,每个请求都返回图像,现在另一个请求正在注册用户,两个请求都运行良好,但是当图像请求为循环运行,同时我从其他选项卡注册用户,但是该请求状态显示为待处理,如果我停止图像请求然后用户注册,如何同时并行运行它们。

urls.py


  url(r'^create_user/$',views.CreateUser.as_view(),name='CreateAbout'),url(r'^process_image/$',views.acceptImages.as_view(),name='acceptImage'),

Views.py

class CreateUser(APIView):

    def get(self,request):
        return Response([UserSerializer(dat).data for dat in User.objects.all()])

    def post(self,request):
        payload=request.data
        serializer = UserSerializer(data=payload)

        if serializer.is_valid():
            instance = serializer.save()
            instance.set_password(instance.password)
            instance.save()
            return Response(serializer.data,status=status.HTTP_201_CREATED)
        return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)

class acceptImages(APIView):

    def post(self,request):
        global video

        stat,img = video.read()
        frame = img
        retval,buffer_img = cv2.imencode('.jpg',frame)
        resdata = base64.b64encode(buffer_img)

        return Response(resdata)

我从这些端点调用的是React,第二个端点正在循环调用,并且同时在其他选项卡中注册用户,但是它显示了待处理状态,如果我停止了图像端点,然后又注册了用户,如何我使这两个请求并行运行。 我已经研究了很多,但是找不到合适的解决方案,有一种解决方案是我使用celery,但是没有解决是否可以解决我的问题?

tanchengbo020028020 回答:如何在Django Rest中并行运行两个请求

您首先应该确定瓶颈是前端还是后端。

  • 前端:Chrome一次最多可以对同一域发出6个请求。 (最高HTTP / 1.1)
  • 后端:如果您使用python manage.py runserver,请考虑使用gunicorn或uWSGI。作为Django documentation says,manage.py命令不应在生产中使用。将Gunicorn或uWSGI中的进程和线程数设置修改为2或更高,然后重试。
本文链接:https://www.f2er.com/3074762.html

大家都在问