gpt4 book ai didi

python - 在异步 View 中连接到自身的 Django 3.1 asgi 服务器超时

转载 作者:行者123 更新时间:2023-12-04 17:26:47 24 4
gpt4 key购买 nike

尝试从 Django 3.1 中的异步 View 连接到同一 asgi 服务器提供的同步 View 时遇到问题。在普通的 wsgi 开发服务器中这样做是可行的,但在 asgi 服务器中则不行。这看起来有点奇怪。可能我误解了 asgi 的工作原理 :)。以下是有关如何重现此内容的链接:

All steps to reproduce this.

这里只是导致问题的 View 。也许有人能够通过查看那些立即告诉我做错了什么:

import httpx

from django.http import JsonResponse


def sync_api_view(request):
payload = {"foo": "bar"}
return JsonResponse(payload)


def sync_aggregation_view(request):
responses = []
r = httpx.get("http://127.0.0.1:8000/sync_api_view/")
responses.append(r.json())
result = {"responses": responses}
return JsonResponse(result)

“sync_aggregation_view”是在 wsgi 中工作但不通过 asgi 工作的那个。

最佳答案

好吧,犯了一个愚蠢的错误。从该服务器内部连接到单线程服务器会导致死锁。 wsgi django 开发服务器行为不同的原因不是 wsgi 或 asgi,而是因为它是 multithreaded by default从 Django 1.4 开始。我只是没有注意到。

关于python - 在异步 View 中连接到自身的 Django 3.1 asgi 服务器超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62712173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com