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
我正在尝试使用 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