问题标签 [asgi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1519 浏览

django - 如何解决“django.core.exceptions.AppRegistryNotReady:应用程序尚未加载”的问题?

我已经将我的 django webapp 部署到我的 heroku 服务器,它工作正常,直到我添加了一个 websocket 连接,该连接在创建该对象后立即在单独的 url 中显示模型对象的内容。为此,我将 Django 频道与托管在 redislabs 上的 redis 服务器一起使用。要运行 asgi 应用程序,我尝试使用 daphne 服务器,但是当我尝试使用以下命令运行 daphne 服务器时 $daphne smartResturant.asgi:channel_layer --port 8888 ,它显示
“django.core.exceptions.AppRegistryNotReady:尚未加载应用程序”

我的 asgi.py

我的设置.py

当我在本地运行而不使用 daphne 服务器时,它工作正常。但我发现要在托管服务器上运行基于 asgi 的应用程序,您必须使用 daphne 服务器,而我无法运行它。任何帮助将不胜感激!

0 投票
1 回答
824 浏览

python - Hypercorn - 在文件夹中找不到 __main__ 模块

我正在使用带有 debug=True 的 Quart(Flask async) 及其内置 Hypercorn 服务器,但是每次我保存文件并且应用程序尝试重新启动时,我都会得到:

C:\Users\myusername.virtualenvs\App-GtW9WS3s\Scripts\python.exe:在 'C:\Users\myusername\OneDrive' 中找不到 '__main__' 模块

我认为这与 Hypercorn 有关,但老实说,它可能是任何东西,关于这个错误的问题有很多不同的解决方案。

我在 Windows 10 中运行 Pipenv 毫无价值。

运行.py:

应用程序/__init__.py :

0 投票
1 回答
4449 浏览

docker - 如何配置 NGINX 以从 UNIX 套接字服务 ASGI?

我无法通过 docker 容器通过本地主机上 NGINX 上的 Unix 套接字连接在 ASGI + Gunicorn 上运行的应用程序。

假设我在 docker 容器中并运行 NGINX:

我可以http://localhost/api/v1/items从 NGINX 打开并获得 404,这意味着它至少正在运行。

执行正在运行的 docker 服务,我可以使用以下命令启动 Gunicorn:

Gunicorn 正确启动,并且与另一个 exec 一起,我可以卷曲我已经绑定到的 UNIX 套接字并收到 200 响应。

我认为这意味着我在将流量定向到 http://localhost/api/v1/items 的 NGINX 配置中存在一些差异。

nginx.conf

gunicorn_conf.py

0 投票
1 回答
3911 浏览

python - django.core.exceptions.ImproperlyConfigured:无法导入 ASGI_APPLICATION 模块“路由”

我正在尝试在 Django 中构建多人游戏,为此我需要在 Django 频道上工作。但这是运行它时的问题。

这是我的 settings.py 文件:

路由.py:

请帮我调试它并找出错误。我正在尝试构建的游戏是多人文字游戏,其中两个用户可以相互竞争并通过在有限的时间内回答一个问题来获得尽可能多的分数!

0 投票
2 回答
6033 浏览

python - 使用 websockets 优雅关闭 uvicorn starlette 应用程序

给定这个带有开放 websocket 连接的示例 Starlette 应用程序,您如何关闭 Starlette 应用程序?我正在运行 uvicorn。每当我按下Ctrl+C输出时,Waiting for background tasks to complete.它就会永远挂起。

我尝试在关闭事件上切换一个布尔变量,但该变量永远不会更新。它总是False

例如。

0 投票
2 回答
1779 浏览

python - 在 Django 3 ASGI 模式和 WSGI 模式下处理请求有什么区别?

Django 3 应该很快就会发布,它将能够在 ASGI 模式下工作。ASGI 模式似乎使 Django 在处理请求时比在 WSGI 模式下更有效(如果我相信正确的话,每个时间单位可以处理更多请求)。它是如何实现的?是不是 Django 可以同时处理多个请求,但它们中的大多数会等待诸如从数据库中获取数据或其他 IO 操作之类的事件?

0 投票
1 回答
636 浏览

nginx - Quart(ASGI Flask 替代品)可以通过 nginx 代理吗?

我目前有一个通过 uWSGI 在 Nginx 后面代理的 Flask 应用程序。由于我对 asyncio 和 websockets 的需求,我更愿意切换到 Quart。

我使用 nginx 来管理身份验证并高效/简单地提供静态文件。通过转换到 Quart 来保持基本相同的配置会很好,而不是全部丢弃并裸机运行 Hypercorn;并将我所有的静态路由/身份验证迁移到 Quart 应用程序中。

在 nginx 后面代理 Quart 需要哪些配置设置?也许更一般地说,Nginx 可以代理 ASGI 应用程序吗?这是明智的做法吗?

0 投票
0 回答
132 浏览

python-3.x - 如何在 ASGI 应用程序中配置同步 SQLAlchemy ORM 使用?

我正在尝试配置其数据层依赖于 SQLAlchemy ORM 的 ASGI 应用程序。我知道可以完全异步地使用 Core 与数据库GINO之类的东西。但是,我们的服务器架构使得数据库往返通常很短(我希望使用 ASGI 来提高 IOT 通信往返的 CPU 使用率,这比访问数据库所需的时间大几个数量级),所以我宁愿在一个异步上下文中同步使用 SQLAlchemy。

有谁知道建立依赖于 SQLAlchemy ORM 进行数据持久性的 ASGI 服务器的任何现有技术?特别是,我想知道会话处理是否有任何陷阱,数据库 I/O 可能如何与请求处理交互等,并且在网上找到这类知识时运气不佳。

0 投票
9 回答
20248 浏览

python - 从终端调用时,uvicorn 不工作

我尝试通过 pip3 在系统上安装 uvicorn,但我无法从命令行运行它。有关如何解决此问题的任何指示?

0 投票
1 回答
1311 浏览

django - django 频道 vs daphene

我对 django-channels 和 uvicorn 服务器的主要角色有点困惑。我已经阅读了很多博客,但没有得到太多澄清。

如果我们可以使用通道为 websockets 实现 ASGI 服务器,那么为什么我们需要像 daphene 或 uvicorn 那样单独的 asgi 服务器?