我有一些奇怪的行为,其中:
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:“......频道有代码来检测消息何时被重新排队太多次(默认情况下现在是 10 次),然后它会杀死它以防止活锁......”
在接收上下文之外发送,例如:
Group('chat-'+ name).send({'text': json.dumps(m)})
反复排队?