django 服务器(托管在 ec2 ubuntu 上)因多个用户而失败

django server (hosted on ec2 ubuntu) failing for multiple users

我正在尝试使用 screen 命令 运行 aws ec2 实例 (ubuntu) 上的 django 服务器。

screen -L python3 manage.py runserver 0.0.0.0:8000

我的脚本以简单通用的方式工作,它检测 POST 请求,通过 HttpResponse 进行处理和响应。

我的代码在 views.py 中看起来有点像这样。

def myResponse(arg):
   """
   processing here
   """
   #this function gets executed
   #code below does not get executed, it gets cut off when, new request comes
   HttpResponse("responseString")


def index(request):
    if (request.method == "POST"):
        """
        process here
        """
        #this function gets triggered, whenever post request is detected
        myResponse(arg) 
        HttpResponse("anotheresponseString")

当一个用户正在交互时,突然有新用户交互并检测到新的 post 请求,旧的流程将被切断。没有抛出错误。

如何处理多个用户?

使用 Gunicorn 或 Celery 到 运行 django 服务器并处理您的请求。

独角兽 https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/gunicorn/

芹菜 https://docs.celeryproject.org/en/latest/django/first-steps-with-django.html