问题标签 [daphne]

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 回答
680 浏览

django - 如何使用 Django 频道和服务器 daphne 配置主管

我的配置主管有问题,我的文件在etc/supervisor/conf.d/realtimecolonybit.conf,

当我尝试命令 supervisorctl reread 时,向我显示“没有对进程的配置更新”以及当我尝试像这样的其他命令时

向我显示此错误

当尝试 supervisorctl start realtimecolonybit 时显示此错误

我的文件 realtimecolonybit.conf 中的配置如下

我的文件 start.sh 中的配置如下

当我像这样在没有主管的情况下跑步时

它运行正常并且运行良好,但有时会关闭服务器

我尝试使用我的应用程序在 aws 中的主管运行 Django 1.11 和 django_channel。

0 投票
1 回答
2777 浏览

django - 通道 websocket AsyncJsonWebsocketConsumer 未达到断开连接

我有以下消费者:

连接、接收甚至从数据库中异步获取数据都可以完美运行。只有断开连接不能按预期工作。以下终端日志解释了发生了什么:

在 10 秒超时后,它会发出连接被终止的警告:

警告 - 服务器 - 在 linenumber 的位置运行的应用程序实例任务名连接 cxn-name 需要太长时间才能关闭并被杀死。

因此也没有达到断开方法。

  • 这可能是什么?
  • 我使用正确的方法吗?
  • 我可以延长超时时间吗?
0 投票
0 回答
679 浏览

python - 无法从 virtualenv 内部运行 daphne

我正在尝试运行安装在 virtualenv 中的 daphne,以下是错误:

环境:
1. mac osx mojave
2. python 3.6.5

当我在激活 virtualenv 后尝试导入模块twisted.internet时,它可以正常工作。

当我尝试在不使用 virtualenv(全局安装)的情况下运行 daphne 时,它​​可以正常工作而不会引发任何错误,如图所示。

以下是安装的软件包(通过 pip install -U 通道):

0 投票
0 回答
866 浏览

apache - 如何配置 apache 以与 asgi 一起使用

我已经遵循了一些关于设置 django 频道和阅读 asgi 文档的教程,并且在将我的 websocket 请求代理到必要的 daphne 侦听器时遇到了困难。

这是达芙妮显示的内容:

(注意:我也尝试过 SSL 版本,使用$ daphne -e ssl:8444:privateKey=privkey.pem:certKey=fullchain.pem asgi:application -b 127.0.0.1 -p 8443

在我的 apache.conf 文件中:

最后,在实际的浏览器中,我正在做:

并且全部启用:

  • a2enmod 重写
  • a2enmod 代理
  • a2enmod proxy_wstunnel

我在上面的配置中遗漏了什么吗?每次我访问 websocket 页面时它只有 404,所以它显然没有“接收”ws 请求。也许其中一些与使用 https 有关?在我能找到的 django-channels 或 asgi 文档中没有任何相关内容。

最后,如果这有任何用处:

0 投票
1 回答
676 浏览

python - Django Daphne 大文件上传

我有一个 Django Web 应用程序,它使用 Channels 和 Daphne 进行 websocket 通信。我所有的 websocket 东西都可以正常工作,没有任何问题。

我的麻烦来自我的服务器还允许我将文件上传到服务器。小文件(甚至高达 282mb)正在上传并且工作正常,没有任何问题。

但是,大文件会导致500 Internal error - Daphne并显示此堆栈跟踪:

我猜这告诉我达芙妮内存不足。我在这里找到了参考:Daphne Django 文件上传大小限制,这也有助于确认这一发现。

我需要一个答案是如何解决它。我没有在 Docker 中运行我的项目,而是在 Linux VM 实例上。如果我增加整个 VM 上使用的总 RAM,daphne 是否能够获得更多?

有什么方法可以指定 daphne 允许使用比当前更多的内存吗?这个服务器实例有 4gb 的 RAM,而我的文件只有 675mb,所以除非它一次在内存中存储多个副本,否则它应该有足够的容量来容纳这个文件。

如何让 Daphne 能够成功接受大文件上传?

0 投票
2 回答
6105 浏览

nginx - 为 Daphne 配置主管(Django 频道)

我使用 Django Channels 创建了一个 Web 应用程序,在尝试设置 Supervisor 系统时遇到了问题。

首先,应用程序在本地运行良好。

远程(我使用带有 Ubuntu Server 18.04 LTS 的 AWS EC2 实例),当使用命令运行时daphne -b 0.0.0.0 -p 8000 mysite.asgi:application它也运行良好。

但是,我不能让它与主管一起工作。我遵循官方 Django Channels 文档(https://channels.readthedocs.io/en/latest/deploying.html)的说明,因此我有:

  • nginx配置文件:

    /li>
  • 主管配置文件:

    /li>

这样设置时,网页不工作(504 Gateway Time-out)。在主管日志文件中,我看到:

等等

请注意,在 Supervisor 命令中,Daphne 进程以另一种方式调用(使用其他参数集)而不是我之前运行它 - 不是地址和端口的参数,而是套接字和文件描述符的参数(关于这些我没有知道很多)。我怀疑这是遇到错误的原因。

任何帮助或建议将不胜感激。

相关软件包版本:

编辑:

当我为套接字文件(在主管配置文件中的 Daphne 命令中存在)创建空文件时,即。/run/daphne/daphne0.sock, /run/daphne/daphne1.sock, 等等,然后日志文件说明以下内容:

问题:这些文件不应该是空的吗?他们应该包括什么?

0 投票
0 回答
890 浏览

android - 连接到运行多个启用 SSL 的 Web 应用程序的服务器时,Android websocket 客户端 SSL 错误

我正在研究通过 websocket 连接到服务器的 Android 客户端实现。我刚刚在服务器实例上启用了 HTTPS,现在我收到了这个问题:

似乎 websocket 客户端正在查找不匹配的服务器主机名。

其他一些相关信息:

otherdomain.com是我们的另一个 URL。domain.com它指向在与我当前正在处理的应用程序相同的服务器上运行的同一 Web 应用程序的单独实例。

我的代码正在记录它正在连接的 URL,我可以看到它正确引用domain.com

如前所述otherdomain.com,是同一 Web 应用程序的另一个实例。该实例之前已启用 HTTPS,并且该实例的一切正常。我现在使用的相同客户端代码能够成功连接到此实例。

同一个 Web 应用程序有一个前端页面,它也通过 wss:// 连接到 websocket。这在 Chrome 和 Firefox 浏览器中都可以正常工作domain.com,据我所知,唯一有问题的客户端是 Android 客户端,它只是domain.com应用程序的变体有问题,otherdomain.com似乎工作正常。

我发现这个问题在我用于 websockets 的库中打开。但我不是 100% 确定我的问题是否与此有关,但可能是。特别是有人说:

无法连接到启用 WebSocket 的服务器域,除非它也被配置为网站上的默认服务器。

我假设只有一个站点可以是默认的,并且可能otherdomain.com因为它首先完成而被设置为默认值。虽然老实说,这一切都让我有点过头了,我不确定这是否是相关的。

0 投票
0 回答
207 浏览

python-3.x - ASGI:哨兵错误似乎显示来自不同请求的混合回溯

截至本周,我们正在使用 python 3、django 2 和 django 通道 2 运行我们的堆栈。由于这是一个 ASGI 应用程序,我们使用 daphne 服务器来处理 HTTP 和 websocket 请求。

到目前为止,我们对整体性能和稳定性感到非常满意。然而,在哨兵中,一些错误似乎显示来自不同请求的混合回溯。

据我正确理解,这可能是因为

同步视图应该在线程池执行器中运行

我的问题真的是,在 ASGI 应用程序中将日志汇总到哨兵的正确方法是什么?我发现这个是由 starlette 的创建者tomchristie 提供的。有没有人有在 django 上下文中使用它的经验?

日志记录设置:

0 投票
1 回答
588 浏览

python - How to update python code and see changes live using daphne, Django Channels?

I just made some changes over 1 python file in my production server, then tested the changes using "runserver" command:

The changes are done correctly, then I try to see the same changes in production but using websockets with Django Channels, but the result seems to be that the server is running the old code.

What could be the reason, is there any code cache?, what can I do to refresh the code?

0 投票
0 回答
403 浏览

django - 使用 daphne 运行的服务器在经过不确定的时间后开始对任何 http 请求响应代码 504

我在生产中使用 django-channels2+daphne。在不确定的时间过去后,我两次收到此错误(相应地在 2 小时后和 6 小时后),这涉及504对任何 HTTP 请求的回答。我不知道应该如何调试问题。使用 nginx、django-channels2、daphne。

这是我的 nginx 配置:

使用以下命令启动 daphne.com: