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: "...channels には、メッセージが何度も再キューイングされた場合 (デフォルトでは 10 回) を検出するコードがあり、ライブロックを防ぐためにメッセージを強制終了します..."

次のような受信コンテキスト外で送信しています。

Group('chat-'+ name).send({'text': json.dumps(m)})

繰り返しエンキュー?

4

1 に答える 1

1

古いバージョンの django チャネルを使用していました。現在のバージョンにアップグレードすると、この問題が修正されました。

于 2016-10-30T18:04:09.820 に答える