Django 频道组发送在发送一定次数后死亡
Django channels Group send dies after sending a certain number of times
我有一些奇怪的行为:
Group('chat-'+ name).send({'text': json.dumps(m)})
执行此发送 10 次或更多次后失败。造成这种情况的常见原因是什么?我没有在我的工作器上看到任何错误消息,除了它没有记录它正在发送任何信息。
通常我看到:
2016-10-29 04:02:37,800 - DEBUG - ws_protocol - Sent WebSocket packet to client for !websocket.send.wTXtcZZQ
发送一定次数后不再显示此消息。我正在做一些更新行为,每 5 秒发送一次。
编辑:
此发送不是响应客户端发送而发生的。我正在通过该组向客户端发送服务器数据。我认为这是问题所在?
编辑:
进一步研究,我在 django-channels github 上发现了这条消息:
https://github.com/django/channels/issues/107
andrewgodwin: "...channels has code to detect when a message gets
requeued too many times (it's 10 right now by default) and then it
kills it to prevent livelocks..."
在接收上下文之外发送,例如:
Group('chat-'+ name).send({'text': json.dumps(m)})
重复排队?
我使用的是旧版本的 django 频道。升级到当前版本为我解决了这个问题。
我有一些奇怪的行为:
Group('chat-'+ name).send({'text': json.dumps(m)})
执行此发送 10 次或更多次后失败。造成这种情况的常见原因是什么?我没有在我的工作器上看到任何错误消息,除了它没有记录它正在发送任何信息。
通常我看到:
2016-10-29 04:02:37,800 - DEBUG - ws_protocol - Sent WebSocket packet to client for !websocket.send.wTXtcZZQ
发送一定次数后不再显示此消息。我正在做一些更新行为,每 5 秒发送一次。
编辑:
此发送不是响应客户端发送而发生的。我正在通过该组向客户端发送服务器数据。我认为这是问题所在?
编辑:
进一步研究,我在 django-channels github 上发现了这条消息:
https://github.com/django/channels/issues/107
andrewgodwin: "...channels has code to detect when a message gets requeued too many times (it's 10 right now by default) and then it kills it to prevent livelocks..."
在接收上下文之外发送,例如:
Group('chat-'+ name).send({'text': json.dumps(m)})
重复排队?
我使用的是旧版本的 django 频道。升级到当前版本为我解决了这个问题。