0

我有一些奇怪的行为,其中:

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)})

反复排队?

4

1 回答 1

1

我使用的是旧版本的 django 频道。升级到当前版本为我解决了这个问题。

于 2016-10-30T18:04:09.820 回答