20

ActionCable.server.open_connections_statisticsActionCable.server.connections.lengthActionCable.server.connections.map(&:statistics)などを見てきActionCable.server.connections.select(&:beat).countましたが、これは「プロセスごと」 (サーバー、コンソール、サーバー ワーカーなど) にすぎません。現時点で ActionCable に加入しているすべての人を見つけるにはどうすればよいですか? これは、各環境 (開発、ステージング、本番) の Rails プロセスで同じ値を返す必要があります。たとえば、開発コンソールでは、理論上は同じサブスクリプション アダプター (redis、async、postgres) を使用するため、開発サーバーの接続も確認できます。

レール 5.0.0.beta3、ルビー 2.3.0

関連するActionCable - 接続ユーザー数を表示するには?

4

2 に答える 2

17

使用してredisいる場合は、すべての pubsub チャネルを表示できます。

[2] pry(main)> Redis.new.pubsub("channels", "action_cable/*")
[
    [0] "action_cable/Z2lkOi8vbWFvY290LXByb2plL3QvUmVzcG9uXGVyLzEx",
    [1] "action_cable/Z2lkOi8vbWFvY290LXByb2plL3QvUmVzcG9uXGVyLzI"
]

これにより、すべての Puma ワーカーのすべての websocket 接続がまとめて表示されます。また、複数のサーバーがある場合は、おそらくここにも表示されます。

于 2016-03-26T01:00:57.583 に答える