方法执行服务器在 7 秒内没有响应



i具有称为 validate_account()的函数,返回布尔值。它用于DB,并使用 7 秒的持续时间进行一些操纵。因此,当我向服务器提出另一个请求时,它在这7秒内不会响应任何请求。我该如何修复?也许通过开始新的过程?

@login_required
@csrf_protect
def check_account(request):
    username = request.session['current_account']
    account = get_object_or_404(Account, username=username)
    # takes 7 seconds
    login_status = validate_account(account.username, account.password)
    response = {
        'loginStatus': login_status
    }
    response = json.dumps(response)
    return JsonResponse(response, safe=False)

我正在运行服务器作为python manage.py runserver --nothreading --noreload

--nothreading选项禁用多线程,因此您只会有一个线程响应请求。由于每个线程都同步处理请求,因此会导致您描述的确切行为。

只需删除--nothreading选项,多线程将允许服务器同时响应多个请求。在生产中,您还应使用多个线程和/或进程来运行WSGI服务器

相关内容

  • 没有找到相关文章

最新更新