问题标签 [django-channels]
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.
django - Django channels times out with daphne and worker
I have a problem with django channels. My Django app was running perfectly with WSGI for HTTP requests. I tried to migrate to channels in order to allow websocket requests, and it turns out that after installing channels and running ASGI (daphne) and a worker, the server answers error 503 and the browser displays error 504 (time out) for the http requests that were previously working (admin page for example). I read all the tutorial I could find and I do not see what the problem can be. Moreover, if I run with "runserver", it works fine.
I have an Nginx in front of the app (on a separate server), working as proxy and loadbalancer. I use Django 1.9.5 with asgi-redis>=0.10.0, channels>=0.17.0 and daphne>=0.15.0. The wsgi.py and asgi.py files are in the same folder. Redis is working.
The command I was previously using with WSGI (and which still works if I switch back to it) is:
uwsgi --http :8000 --master --enable-threads --module Cats.wsgi
The command that works using runserver is:
python manage.py runserver 0.0.0.0:8000
The commands that fail for the requests that work with the 2 other commands are:
daphne -b 0.0.0.0 -p 8000 Cats.asgi:channel_layer
python manage.py runworker
Other info: I added 'channels' in the installed apps (in settings.py)
other settings.py relevant info
}
Cats/routing.py
main/routing.py
main/consumers.py
Any idea what could be wrong? All help much appreciated! Ty
EDIT: I tried a new thing:
And this does not work, while python manage.py runserver 0.0.0.0:8000
was working...
Any idea that could help?
django - Django频道组发送在发送一定次数后死亡
我有一些奇怪的行为,其中:
执行此发送 10 次或更多次后失败。常见的原因是什么?我没有在我的工作人员身上看到任何错误消息,除了它没有记录它正在发送任何信息。
通常我会看到:
发送一定次数后不会显示此消息。我正在做一些更新行为,此发送将每 5 秒发生一次。
编辑:
此发送不会响应客户端发送而发生。我通过这个组向客户端发送服务器数据。我认为这是问题所在?
编辑:
进一步研究,我在 django-channels github 上找到了这条消息:
https://github.com/django/channels/issues/107
andrewgodwin:“......频道有代码来检测消息何时被重新排队太多次(默认情况下现在是 10 次),然后它会杀死它以防止活锁......”
在接收上下文之外发送,例如:
反复排队?
django - 如何在同一主机上运行 2 个带有 Django 频道的站点?
我尝试用 supervisord 启动 2 台 daphne 服务器和 2 台工作人员。
但有时来自站点#1 的请求在worker #2 上,而来自站点#2 的请求在worker #1 上。
我应该使用不同的 Redis 服务器吗?瑞丽?
还是我在设置中缺少一些参数?
django - django 频道集成问题,websocket.receive 不听
通过各种博客文章,我正在尝试使用 django 为 websockets 功能实现 django 通道
我正在使用 django 1.9.1
具有这些依赖项: asgi-redis==0.10.0 channels==0.12.0 daphne==0.11.1
设置.py
路由.py
消费者.py
从浏览器控制台运行服务器后,我正在调用它
在上面的调用中,在 runserver 日志中我可以看到对 websocket 的调用,如下所示:“[2016/11/15 19:35:39] WebSocket CONNECT /chat/ [127.0.0.1:55499]”,但我的消费者。 py 方法(websocket_receive) 永远不会被调用..
知道我哪里可能出错了吗?
django - 带有 DEBUG True 的 Django runserver 提供错误的静态文件
尝试使用 Django 1.10 通过 runserver 为开发服务器提供静态文件
我有'django.contrib.staticfiles'
我INSTALLED_APPS
的和以下相关设置:
这适用于 collectstatic,并且可以直接通过 NginX 正常服务。
但是使用 runserver + DEBUG=True
,我希望 Django 网络服务器从static/
文件夹提供服务,但它是从node_modules/
文件夹提供服务。
如果我删除/重命名node_modules/
,那么我会得到静态文件的 404。
静态文件是通过副本(不是符号链接)收集的。
我正在使用可能劫持一切的 Django 频道?
python - 在 Django 频道中使用 HTTP 会话
我有以下问题。我有一个 django web 应用程序,我需要上传 CSV 文件,然后使用 django-channels 流式传输它们。我决定将上传的 CSV 文件的路径保存在 http 会话中。
从 django-channels 文档中,我了解到我可以访问 websocket 内的 http session 对象,但是使用以下代码返回一个没有之前添加的文件路径的对象。
打印 http 会话的结果是:
我的问题是,我真的可以访问 websockets 中的 HTTP 会话吗?或者我应该考虑另一种方法吗?
django - django 如何同时与 websocket 服务器和 webserver 一起工作?
我想我对websocket server和webserver的理解有些混乱。
所以我遵循了 django 频道的教程,在那里我创建了一个小应用程序来监听频道并返回一些响应。
同时,我仍然可以提供具有正常视图功能的网页,那么 django 是如何做到这一点的呢?
django - django 频道:除了某些两个人之外,如何限制对聊天室的访问?
我正在使用 Django 频道构建一个聊天应用程序。现在,如果用户知道他们的网址,该应用程序允许用户观看任何聊天室。
我想限制对每个聊天室的访问,除了某些两个人。我如何在 Django 频道上实现这一点?一般来说,我如何只允许某些用户访问 Django 应用程序上的 url?
我的聊天应用程序中的聊天室网址如下。
url(r'^(?P[\w-]{,50})/$', views.chat_room, name='chat_room')
python - Django python 无法从模块类型中导入 FunctionType
我正在尝试使用 django 频道和 asgi 来运行一个简单的聊天服务器。我安装了频道和 daphne,但是当我尝试运行开发服务器时,出现以下错误。
我检查了最后一个文件,发现错误与类型模块有关。该行import types
工作正常,但是当脚本尝试调用types.FunctionType
它时会给出 AttributeError。当我在 shell 上导入脚本时,它按预期工作
任何帮助是极大的赞赏。:)
编辑
print(types)
输出:
<module 'types' from '/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/types.pyc'>
编辑 2 我用频道开始了另一个 django 项目,从 github 克隆了一个存储库。当我在安装依赖项后运行开发服务器时,它运行良好。通道 utils 文件完全相同,因此任何解释此问题的帮助都会有所帮助。
django - 为什么安装频道后我的 Django 无法运行服务器?
在我安装“频道”之前一切正常。安装频道后,我在 settings.py 的 INSTALLED_APPS 中添加了“频道”,然后当我执行 $ python3 manage.py runserver 时出现以下错误:
我不知道发生了什么,我非常感谢所有帮助。我安装了所有的包
我使用的系统是 RPi 3 上的 Raspbian。我在安装频道时收到很多警告,这与此错误有关吗?我真的需要一些帮助谢谢!